I strongly suggest marriage counseling before this gets worse. Your husband saying "it hurts" to hug up against you on the couch or in bed sounds like an issue that he needs to discuss with someone. Him telling you all the things he does not like about you is not something you need to put up with, and if he will not go to counseling, you should definitely go alone.
It is hard having a 2 year old (I have a 4 year old and a 7 month old, both boys). It is stressful on a marriage, and both people need to take extra steps to make the marriage work. He sounds like he is going in reverse, and I hope he can communicate with you in more respectful and loving ways. You can at least tell him that you do not need to hear any more negative things about yourself.
Read my response above about counseling, as there are many resources available. I wish you the best!