Shachi is daughter of an Asura Puloma, and is thus an Asuri. Shakra fights always with the Asuras, yet He married Shachi. And Shachi is now become a Goddess. Why did Maghavat marry daughter of an Asura Puloma.
Interesting question and a valid one. Why should Indra, the ruler of Devas marry an Asura princess? There is no clear cut answer but the Rigved contains one particular hymn that is spoken by Shachi herself and which gives an insight into what could have happened.
In Verse 159, Book 10 of Rigved Shachi states that there was some competition for Indra's affections and she beat many rivals to become his queen and even Indra was submissive to her after that:
YON Sun hath mounted up, and this my happy fate hate mounted high. I knowing this, as conqueror have won my husband for mine own.
I am the banner and the head, a mighty arbitress am I: I am victorious, and my Lord shall be submissive to my will.
My Sons are slayers of the foe, my Daughter is a ruling Queen: I am victorious: o’er my Lord my song of triumph is supreme.
Oblation, that which Indra gave and thus grew glorious and most high,— This have I offered, O ye Gods, and rid me of each rival wife.
Destroyer of the rival wife, Sole Spouse, victorious, conqueror, The others' glory have I seized as ’twere the wealth of weaker Dames.
I have subdued as conqueror these rivals, these my fellow-wives, That I may hold imperial sway over this Hero and the folk.
It appears to be sort of a Swayamvar of the opposite kind where many women were vying for Indra's affections but Shachi beat them to become his chief queen. The book A Classical Dictionary of Hindu Mythology and Religion, Geography, History also refers to the Taittirya Brahman stating that Shachi won because she was the most beautiful of all other godesses: