Most Helpful Guy
Because it it is meant as an insult. Gay is not a term people call each other meant as a compliment. Anything said with the intent of being an insult will be offensive.
Calling a straight man gay, is also a way of reinforcing the idea that men have to act a certain way, or else fail as a "real man" which is very sexist. It is like saying, you fail as a real man so you like dick just like a woman. Guys commonly have their masculinity challenged in various ways like that.4
Most Helpful Girl
Because they aren't gay...
I'd get pissed if someone said I was lesbian3