I read some stories in North India where Lord Kartikeya is said to have vowed not to marry, while in South India, he is seen along with 2 wives. I wanted to know, who are the wives of Lord Kartikeya and which texts contain the story of his marriage?
According to South Indian tradition, Kartikeya has two wives, Valli and Devasena (AKA Devanai). As I discuss in this answer, while Valli isn't really mentioned much in Hindu scripture, Devasena definitely is. Her story is told in the Vana Parva of the Mahabharata. Once Devasena was kidnapped by the Asura Keshi, and after being rescued by Indra she told him this:
I am a daughter of Prajapati (the lord of all creatures, Brahma) and my name is Devasena. My sister Daityasena has ere this been ravished by Kesin. We two sisters with our maids habitually used to come to these Manasa mountains for pleasures with the permission of Prajapati. And the great Asura Kesin used daily to pay his court to us. Daityasena, O conqueror of Paka, listened to him, but I did not. Daityasena was, therefore, taken away by him, but, O illustrious one, thou hast rescued me with thy might. And now, O lord of the celestials, I desire that thou shouldst select an invincible husband for me.
Note that translator thinks that Prajapati refers to Brahma here, but I think it actually refers to Brahma's son Daksha, who is also a Prajapati. In any case, before Indra had met Devasena, he had been trying to find a Deva-senapati, i.e. a general for the gods. And then Devasena told Indra that she wanted husband with the following qualities:
O hero with long arms, I am Avala (weak) but my husband must be powerful. And by the potency of my father's boon, he will be respected by gods and Asuras alike. That manly and famous and powerful being devoted to Brahma, who is able to conquer all the celestials, Asuras, Yakshas, Kinnaras, Uragas, Rakshasas, and the evil-minded Daityas and to subdue all the worlds with thee, shall be my husband.
After consultation with Brahma, Indra decided that the only suitable Devasena-pati, or husband for Devasena, would be someone fit to be the Deva-senapati, the general of the gods. And so he tried to bring about the birth of such an individual. In any case, after Kartikeya was born and had proven his prowess in battle, Indra made him general of the gods and then gave him Devasena's hand in marriage:
The Performer of a thousand sacrifices then thought of Devasena, whom he has rescued before. And considering that this being (Skanda) was undoubtedly destined to be the husband of this lady by Brahma himself, he had her brought there, dressed her with the best apparel. And the vanquisher of Vala then said to Skanda, 'O foremost of gods, this lady was, even before thy birth, destined to be thy bride by that Self-existent Being [Brahma]. Therefore do thou duly accept her lotus-like beautiful right hand with invocation of the (marital) hymns.' Thus told, he duly married her.
So that is how Kartikeya married Devasena. Now as far as Valli goes, as I said she isn't mentioned much in Hindu scripture, but in South Indian tradition her story goes roughly as follows, as described e.g. in this Wikipedia page and the official website of the location of Valli's wedding. Valli was the daughter of Nambi Raja, a tribal chieftain of a people called the Veddars or Kuravars. She prayed to Kartikeya devoutly, so one day Kartikeya appeared to her pretending to be a Veddar hunter, but she spurned his romantic advances.
Kartikeya played many more tricks like that, until finally he had his brother Ganesha turn into a large elephant and chase Valli. Valli ran to an old man and asked for help; the old man said he would only help her if she agreed to marry him. She finally agreed, and Kartikeya revealed who he really was. They got married in Vallimallai, Tamil Nadu shortly thereafter.