Because men are sometimes not clued in, it could that that he is telling you when you don't do something well that he thinks he is somehow helping you. And instead, you are taking it as criticism.
Have you tried to sitting down with him, and saying, "These are the things that I try to do for you to show you I love you and I care. (list x,y,z). I need to know that you appreciate and value what I do as a SAHM--which we both decided was the best thing for our family---because being a SAHM is hard work (list a,b,c things that are hard/difficult/etc.). I would really appreciate it if you would make the effort to show that you appreciate what I'm doing for our family, just as I do x/y/z to show you that I appreciate how hard you work for our family."
Then, let it go (don't nag). You can try using behavior techniques to "train him" (but don't tell him you are!)--if he's criticizing, instead of helping, just completely ignore it. Or redirect him: give him part of the job to do (ie, I don't like what you cook, well, then, here are the ingredients for tonight, and you can pick out what we have for dinner & chop the veggies.) Whenever he does something you want him to do (like pick up his socks, or thank you for doing something), be very vocal in letting him know you appreciate that. Reward the smallest behavior and ignore or redirect the undesired behavior.
The other thing you might both do is read The Five Languages of Love (http://www.5lovelanguages.com/). Different people need love expressed differently, and it could be that he is showing you love in a way that doesn't have as much meaning for you.
Whatever happens, make some "me" time for yourself to go out & do fun stuff with other people (social activities-join a hiking group, whatever). That may help your perspective.