He's abusive, thats what it boils down to.
Also, why would you want someone anywhere near you who wants to make you feel shit about yourself. Thats not something you tolerate from an acquaintance, let alone someone who should want to love and protect you.
Start taking small steps to get ready to leave.
Be sure to double up on birth control (eg: the pill and condoms) if you are still sleeping with him.
Hopefully once you are feeling strong enough after having this baby, you'll be able to leave.
But don't be slow to say 'don't speak to that way' and leave the room every time he starts that bs in the mean time. Also take steps to improve your confidence. Eg: every day, look in the mirror and tell yourself something you like about you. Doesn't have to be physical. You could also treat yourself to a spa day or new haircut. Little things.
Remember, he wants you to feel shit about yourself so everything he says has an agenda. And its bs.
The sooner you can go the better.
Speak with women's aid and a solicitor about divorce. Confide in people you can trust about the way he talks to you. Try to stay physically healthy and take as much me-time as you can. Even if it's just taking the baby to the Park and sitting with a coffee for an hour each day.
There provably won't come a day where you wake up and go 'right, today i feel strong enough to leave'. Usually you just have to bite thr bullet and do it. So I recommend giving yourself a set timescale. Eg: Im going to leave him before the baby is 9 months old. So what steps to I need to start with now to ensure that its as easy as possible to leave before then.
MIght also be worthwhile reading lundy Bancroft 9 types of abuser (is online if you google).
You deserve a happy life. And please know that your needs and your feelings, are valid.