Multiple problems: accusations, misinterpretations, blame always on me, EXTREME name calling, constant "joking" putting me down

I'm so overwhelmed I don't know where to begin. My husband and I have been married for 3 years in July. When we first started dating, he was only concerned about himself and didn't give any thought or consideration to me or to his kids. From day 1 I became the caretaker to his children taking them to school and back since I had a car. Giving baths, doing homework etc. on top of taking care of my own priorities and job (he didn't work when we met). He would randomly leave during the day or in the middle of the night without me knowing going to see his exes  (2 previous relationships resulting in 4 children) and stay gone for days while I looked after his kids..then come back when he felt like it and act as if nothing had happened and refuse to give me an explanation.  Needless to say things were very very rocky in the first year, but he drastically changed fairly quickly and we got married within that first year and were expecting our first child together. Near the end of my pregnancy I had to quit working because my body just wouldn't let me be very active with chronic back pain and heartburn. Fast forward to today and we have two gorgeous babies and I've been a stay at home mom for 2 1/2 years since my first was born. I'd love to go back to work, but my husband has told me numerous times that he would rather I stay at home and take care of the kids and house so that's what I did. However, anytime a fight rises, he's extremely fast to call me a lazy worthless b**** because I don't have a job and all I do is take care of kids. (He obviously doesn't know what it takes to be a 24/7/365 parent.) If I try to voice my opinion or express how I'm feeling and what's on my mind and he doesn't feel like hearing it, I get told that all I do is complain and that I'm an unappreciative spoiled brat. If a real argument arises, rather than attempt to take the time to work it out like an adult, he starts being as hateful and hurtful as possible trying to destroy me with the most horrible name calling you could imagine. Bringing up things from the past and throwing them in my face, anything he can do to hurt me as much as possible and watch me cry. Then once we go our separate ways and cool off he comes back to me sometimes as soon as 10 minutes later and apologizes for the way he is and says he's sorry and was wrong and expects me to just forget about it, never trying to talk out the source of the problem.  And this is almost every single argument.  Then there's the accusations. Today for example, I spent an hour and a half cleaning ours and the kids bedrooms while also watching my 2 year old and 8 month old so he could play his video game. I asked him to watch the baby for a second so I could put the clothes and hangers away. After I put the clothes away, I sat on the bed to rest a minute and check my notifications on my phone.  All of a sudden I hear him hollering for me like he needed me so I jumped up real quick and tossed my phone down to see what was wrong but instead he starts questioning me about what I was doing on my phone when I said all I had to do was put clothes away and why I "suspiciously" jumped up in a hurry and threw my phone down. I guess the obvious reason wasn't what he wanted to hear so he starts saying "what were you really doing on your phone? Who were you talking to" I got up and showed him my phone and that I was checking my Facebook but he still insists that I was up to no good. I just don't understand why he acts and treats me the way he does. I literally stay at home with the kids all day, so how could I be cheating on him or seeing someone behind his back? Rational reasoning and thinking doesn't work when it comes to him. Can anyone help me figure this out? It's beginning to wear me down and I'm not sure how much longer I can let myself be treated poorly no matter how much I love him.