Hey there, I know this is a tough situation that you are in, but i truly believe that you did the right thing, what that boy did was not funny, it was bang out of order and rightly so you had to tell someone about this. I think those two deserved to be suspended if they behaved like that just because your friend may be gay, they don't even know for sure if he is even if he was he should not have had his coat peed on. It is good that you stuck up for him, I'm sure if you had been the one who's coat got peed on you would want someone to stick up for you, right?
If your friends do and believe that kind of thing, perhaps they are not really your friends after all, i think this has showed you what they are like. If they had any morals they would stick up for you regardless because that was unfair what he did to your friend. I think you should just move on, but if you are intent on remaining friends with them then i think you need to sit down with them and explain why you did what you did. Personally i don't think you need to explain yourself, you did the right thing because ultimately they bullied you friend because he might be gay.
If they were truly your friends they should accept what you did, if they were really your friends then really they should not be back stabbing you regardless. Just don't go down to their level because they are pathetic, only those type of people bitch about others behind their back, they are not worth your time. Say to them that you don't care that they are slagging you off, i suspect that they are doing it to provoke a response from you which is often the case. I know it is not nice to hear people talking about you, but eventually it will get to a point where you will not care. You have other friends, right? You seem like a really nice person and you deserve better than these people. As long as you know yourself that your not lying then why does it matter, right?
Good Luck!