I know you love him, but you REALLY need to get out of this situation immediately.
First of all, he is incredibly rude, condescending, and hurtful to you. He treats you like an object that he owns, not like a partner that he loves. He has no respect for you.
Second of all, his behavior appears to be escalating, which is common. It will continue to get worse.
Third, and probably most importantly, staying in the relationship teaches your children that it's ok to be in an abusive relationship. It's ok to yell and curse at your partner and ok to hit or push them. It's ok to make them do things they don't want to do. It's ok to threaten them if they don't obey you. Is this how you want your son to treat his future wife?
You are the product of an abusive relationship and, unfortunately, didn't have the chance to learn what love is really supposed to be like. You are continuing the cycle. NOW is your chance to break it. Give yourself and your son the chance for a better future.
You're only 29. You won't be single forever. You will find a man who treats you well, respects you, and cares about your feelings. You will find a man who is a good role model for your son. You can be in a happy relationship.
This absolutely isn't normal or good in any way. It won't be easy to move out or to start over, but it's so important to do it. Get yourself and your son out of that house immediately. Go stay with a friend or relative (NOT your own abusive father) until you can move to an apartment of your own. It doesn't have to be glamorous, it just has to be safe and away from your husband.