Actually, in most of the cases you point out (as I explained in the linked question) the issue is that those women married someone who was either on, or in-line-for, the throne. The rules for how and when noble women take their husbands name (in the real world) get very complex when you add in royalty, but the essential point is that a woman marrying a king or prince doesn't get "added to" the line of inheritance, though her children do. So queens, princesses, etc. rarely take their husbands name. This covers Cersei (married a Baratheon king), Margaery (married three Baratheon kings), Selyse (married a Baratheon "prince"), Jeyne (married a Stark king), and Elia (married a Targaryen Prince).
In the other cases you mentioned, it's not nearly as clear why the woman didn't take her husbands name when she married, but note that taking the name of her husband is supposed to be a privilege the woman gets to have as part of her marriage. Marriage is the primary means for a lesser house to raise its social and political status. Thus, it makes sense for a Tully marrying a Stark or Arryn to take the Stark/Arryn name (all three are Great Houses, but the Starks and Arryns are also the Wardens of the North/East).
On the other hand, it's hard to find a noble house that has higher status than the Lannisters. Genna, and more importantly, the men in her family, may actually prefer to keep using her maiden name, rather than call her a Frey, because they may see it as a step down in status.
Ultimately, as I also mentioned in the linked question, Martin simply hasn't told us how the names are picked, and as best as I recall, none of the "exception cases" have ever explicitly been called out. Thus, the best we can do is guess that it's personal preference on part of the women (or, more likely in Westerosi society, her father) which name she goes by after marriage.