A. you need to LEAVE right now!!! Please go to a Woman's Shelter or a safe place. PLEASE don't say, you are NOT to blame, even if you have a mouth on you and speak your mind. NO ONE has the right to hit another person especially your husband. He's to love and take care of you. PLEASE get out NOW!
He needs help, he needs anger management and so do you. He also needs much more counseling. For the sake of your son, please go to a woman's shelter, shame on you mother, and inlaws, NO A MAN doesn't have the right to hit you, no matter what. Please don't listen to those lies... They are all lies.
I'm not saying get divorce, but just go to a shelter, they will give you free counseling and you need it. They will give you a safe place for your son too, they will give you food and clothing, makeup whatever you need. You also need to be separated from him for a while and really heal yourself, your soul. Don't believe the lies you are being told, this is the domestic violence cycle.
I PROMISE YOU this, he will NEVER STOP! Once a man hits you, he'll NEVER STOP!!! They usually say they are sorry, but there will be another hit somewhere down the line...
You have a lot of toxic people around you. Your son is at risk for a lot of social problems too. I really wouldn't be surprise if he had delay in speaking, not trusting people...
Please leave him and get help for yourself. If you are afraid he's going to act real violent, get to a safe place then tell him you are leaving to get help for awhile...
Hugs going out to you, please don't think it's your fault, it's NOT!!!
(PS if he accuse you of cheating; it's because he is...)