This is a touchy and complicated issue. There is no simple answer. I'm gay and I probably would be far more offended by the use of "retarded" than by the use of "gay" that you're describing. The problem is not if you are offending anyone but if you might offend someone, and where and when. I personally don't mind people using the word "gay" that way, in great part because I think it's stupid, but not directly harmful; I think that is more damaging to the person saying it than to the concept of being gay. (Equating "gay" to something bad won't make being gay bad. South Park uses the word "gay" that way. When Cartman calls lame things "gay", Stone and Parker are mocking Cartman, not gay people.) I'm offended by the use of the word "retarded" for the same reason: as I am not retarded, if I were not offended, I'd be latently approving of the word being used that way.
But, in short, by using these words, you're always in danger of offending people, even if you haven't so far. Imagine: you meet someone you're getting along with. Let's call them person A. That person is with a friend of their own, let's call them person B. Your friend is with you. Your friend uses the words "gay" and "retarded" the way you described. Person B is offended by these words, either because a relative of his is retarded, or gay. Person A can offer you a job, or a piece of advice, or help you move, or anything of the sort. Person B later tells person A, "I don't like the sort of people that guy," (meaning you), "is hanging out with." Person A is now far less likely to help you.
Is it really a risk you want to take? From your question, it appears you are rather young. That leads to another issue: do you want to get used to that language? If using those words that way is not an issue now, do you want not to notice it when it becomes an issue to do so?
Think of bicycles and helmets. Someone might say they don't see the point of wearing a bicycle helmet because they've never come close to having an accident, but they wear them anyway. Maybe the two are related. Maybe the type of person who is so careful they've never come close to have an accident is the same type of person who wears a helmet. When you're in the process of falling down, it's too late to start wearing one.
You've never had a problem with that type of language and you probably won't until it's too late to do anything about it.
I don't have much advice to give, just a little. Don't try to change others. It generally fails to change anyone and alienates those who try to make others change. But don't change yourself either. You seem to think there's something wrong with using these words this way, despite not seeing much evidence that there is. My advice is: don't wait for the evidence to come along. Stay wary of that kind of language and don't start using it. If one day you run into a situation where it's clear that you're right, it will be too late to do anything about it. And if you never run into such a situation, what do you have to lose by being ready for it? The fun of using a few offensive words? I think it's a pretty good deal.
There's not really one that I'm aware of-- or one that at least, as you said, doesn't carry other strange connotations with it or isn't long/awkward/wordy.
Honestly, I would just recommend 'boyfriend' for everyday use. I know it sounds a little juvenile (I've been with my girlfriend for much less time than you and it already feels a little insufficient), but it's a quick, easy term that people will immediately understand, and it doesn't always have to apply to less serious couples.
Best Answer
The word wife means "woman". In the context of a marriage, then whether same-sex or different-sex* it means the woman one is married to, and always has done.
The word husband meant the man who is the master of a household, but this has moved to having less hierarchical implications a long time ago; not just with the rise of the Women's Movement in the last century, though that obviously had massively increased the changes in how we consider the term.† As such, it means the man one is married to.
So, assuming either a cissexual partner, or a partner that identifies as either of the binary of man or woman, then you call them a wife if they are a woman and a husband if they are a man.
Non-binary identifications vary widely, and so can only really be considered on a case-by-case basis. However, spouse covers same-sex, and different-sex marriages of cis, binary trans and non-binary trans people of all sexes, and so can be used as a catch-all.
*Every time you call same-sex marriage "gay marriage" a bisexual loses their wings.
†Calling the woman in a man-woman relationship "his woman" and the man "her master of the household" may seem a bit sexist. In fact it was very sexist indeed. This was a thousand years ago, after all.