There's a lot of wisdom in this thread. It's a cliche, but people change SO drastically from their teens to their 20s and from 20-25, at least in my experience/opinion. At 20, you have your entire dating life ahead of you. It's obvious that you're a pretty girl, so you should have a few options for your next relationship, whenever that might happen. You should never settle for something that's 95% good. Nothing will ever be 100% good because even the best relationships have hiccups, but I could never imagine accepting a relationship where either I or the other person involved said ANYTHING like what he said in a public place. In private and joking around? Very different. In public? Very much a lack of respect that, as has been wisely pointed out, will only devolve, especially if he's 24. It'd take something incredibly serious to change him now...and he knows you'll take it, so what motivates him to change?
It sounds like you made a quick decision in your text to say you can't do this anymore. While a break up via text (if I understood correctly) isn't the best way to go about it, it gets the ball rolling. Do not back down. You HAVE to stand up for yourself and you have the wisdom to recognize what's happening, that you're trying to rationalize it, and that rationalizing is enabling him.
My post is more or less a summation of many points already made. From my own personal relationship experience, the only one that's worked is the only one where there's mutual respect, communication, and compromise. It took a lot of stumbles and falls to get me here, but I couldn't be happier. Sadly, it took me 25 years to find her, but the last 6 years of my life have been an incredible experience.
DO NOT SETTLE because it's great 95% of the time. Let me repeat...DO NOT SETTLE. Follow the path that you started on with your text to him.
And you have a forum full of support. Can't beat that.