OP, I think you need to get counsel from a neutral, mature outside person so they can help you see what a messed-up situation you're in.
You've come to think it's normal to be called names. You're letting him define you. You're accepting that he doesn't care about the kids and has no empathy. None of these things are normal or healthy.