What worries me most is that he is 1. Blaming everything on you and 2. Blaming you for irrational issues like the dog shitting. Either he is extraordinarily sensitive to your dog’s shitting, or he is for some reason or another (sub consciously or not) bringing you down with his remarks. Being belittled like that for issues you have NOT discussed (thus he has NO reason to expect you to stay for the dog shitting, because him bringing up that sensitivity would be insane), should be unacceptable. 

Try making a hard boundary on him talking to you in that way.

Therapy is always the way to go, together and separate.

Tell him that he has to be able to take responsibility for things, and the emotional labor in your relationship is way out of whack.

I was in a relationship like that, where I couldn’t say my partner was doing something upsetting (which is inevitable in any relationship; thats how you grow!) I still am afraid to discuss my feelings with others and it hurts. You deserve to be heard, and your issues discussed rationally. In relationships, there shouldn’t be blame like that.