I know Allah is punishing me for some big sins I committed in past. I know my sins are da reason dat I dont have peace in my life n my married life is messed up.a
There's no need to blame your problems on your sins. You could be the most perfect of men and still have enourmous problems. Look at the lives of the Prophets, upon them be peace. So, just think of your problems as test to be patient with. No need to delve too deeply into the why it's happening.
In fact, Allah also uses tests and hardship as a means of bringing a person closer to him. E.g. someone with severe emotional trauma after witnessing his family member going into a coma will be so distressed that he won't be thinking of wordly matters but will be constantly in communication with Allah asking for his help and trying his best to avoid sin such that Allah will be more likely to provide assistance. The more prolonged the hardship, the less likely the person will be 'in' to wordly things and more likely the attention will be on Allah.
Regarding your husband, without knowing anything about him, it is not necessarily that he is blind to their bad qualities - even if they may be the worst people out there, he will still care for them simply because they are his family members and it may be that he took your simple statement as an attack on his mother and felt it was his duty to defend her.
I am not sure if your situation is as severe enough to necessitate separation. Perhaps try to remove all negative thoughts of such nature out of your mind and think positive and have a strong determination to make things work no matter what.
Try to initiate the compassion from your part? Maybe if you did that every so often it might strike a chord with him and make him inclined to return it.
May Allah make things easy for you all. Aameen.