very simple. There's nothing gray about it. Your workplace already has a company policy about this issue. you can simply refer them to their employee handbook about it. What they're doing is a liability issue and they can be either suspended or fired for it.
If the colleague is offended or bothered by coworker's remark such as gay slur, discrimination, racist, etc... he can kindly ask him to stop it. If it continues to persists or if he is not comfortable with confronting that person to stop it, he can simply notify his boss about it to handle it. and if it STILL continues to persist, Human Resource will get involved and that shit ain't good. This constitutes "Hostile Work Environment".
I highly recommend that you tell your colleague to talk to him tell him not to do it again and that it's not appropriate in workplace. This is usually the best and simplest way to resolve the issue. It always end with a handshake and apology. Water under bridge.
it doesn't matter if your boss thinks it's nothing or not. What matters is that if YOU (or whoever) as an employee felt uncomfortable even if it's a guy blatantly walking past your cubicle to look down your blouse when his office is out of the way.
religious or not... still doesn't matter. If your boss ignored the problem because of his bias with gay thing... then he's in deep shit.