When I say I like someone they always say "good you're straight" and I feel like they're saying that because I'm a tomboy and because of the way I dress.
Reply with an honest comment letting them know how their remarks make you feel. You want to do this is a non-defensive manner that will not prompt an argument. If they respond with another joking remark, ignore the comment and do not provide any verbal or non-verbal reaction. All you can do is pay attention and interact with them when they are being appropriate and disengage when they are being inappropriate. This should assist in extinguishing the behaivour over time. The initial discussion of how there remarks make you feel may come as a surprise to them. Sometimes people are unaware of how they affect others. You might say something like "When you say things like that, it makes me feel ........ ". Ask for the change you would like to see "I would make me feel better if you didn't say things like that anymore".
I don't think you can change their sense of humor (which I don't find in the slightest amusing). Maybe you can sit them down (if they're mature enough for a talk) and ask them why they joke like they do and if they're homophobic/or views on the LGBT community.