Why would "homosexual" or "same sex", be any more pejorative than "same sex" marriages?.........
I don't know, really. I get your point it seems not to be logical, but language isn't always logical, I guess. The AP Style people actually tried to take "homophobia" out but the LGBT community argued to put it back in. And you can use "heterosexual" so it doesn't appear to be strongly correlated with etymology.
As far as AP style/writing goes, they obviously don't want their reporters offending people. But also, they want uniform usage so that readers (especially younger ones) won't get confused by words whose tone and definition aren't familiar to them. So if one word is much more common than the other, that's the one they will have you use. And in the guidelines it says that "gay is PREFERRED over "homosexual" so it's not a total ban.
As far as casual usage, I think it has to do with historically "homosexual" being associated with a medical afflication. Like its a psychological disease that needs curing. And then people shortening the term to "homo" and using it derisively. It's also rather outdated. Similar to how "colo(u)red" was once the non-offensive term, but over time has become very offensive because of the era in which it was used.
Older people who have used the word their whole lives or maybe sheltered people from rural areas who don't run into gay people often (fewer and fewer nowadays) still use it. I don't think it makes people that mad, they just might get politely corrected. If you aren't in that group, then it probably makes people wary about why you chose to use a term that hasn't been popular in 30 years.
I guess it's in that zone where it isn't inherently offensive so much as strange. People might be taken aback, but they will try to gauge your intent. As opposed to some other words where no one would possibly use it unless trying to cause offense. Like, there's no way that could have been a mistake and it's an instant fight starter.
