Okay -this is all too common for SAHMs. I was one for several years, and my husband was pretty good, but he liked to drop nasty little statements about how "easy" I had it whenever we argued. I have some VERY specific advice for you, and it WILL work. If it doesn't, you two need to go to couples' counseling, which may be a good idea anyway if he blows up when you try to implement the following. His main problem is that he does not see child-raising and housekeeping as an actual job that requires A LOT of 24/7 work.
SO:
First of all, tell him you want to sit down when the kids are in bed, at grandma's -whatever -and make a list or two. Tell him up front that YOU really appreciate him going to work every day and providing for all of you financially. Let him know that you're proud to have him as a husband, and that his strength and (hopefully) success at his career is something you take pride in. Let him know he should also take pride in the fact that he has a great wife who is a great mother to his children!
List what you do on a daily/weekly basis. Google the $$ that they come out with every few years that the average "housewife" would be paid if she was doing the same job for a salary. It's well over $100K! Let him know that while you certainly don't mind doing most of the "home" stuff and "kid" stuff -he lives there and fathered those children. You are not a nanny. You ALL are a family! He can pick up his clothes and put his garbage away like a big boy.
Get a dry-erase calendar to display in a prominent place. Make sure it has room for notes or a list. Make a list of those chores and who is responsible for what during a given week. Before anyone does ANYTHING on the weekends -they have to be taken care of. Your list will be bigger, so that should make him happy. Remind him -if you worked outside the home -it would be 50-50 ALL THE WAY (I went back to work, and you bet your butt it is at my house -it was an amusing wake up call for my husband).
Remind him that you're a vegetarian. He knows this and has most likely known it for years unless it's brand new for you. If he wants to eat vegetarian meals -great -no cooking on his part. If he wants meat -he cooks it. No argument -just the way it is. Remind him again that if you worked outside the home HALF of the week's meals would be his responsibility no matter how tired he was when coming home from work.
Finally -go off on some weekend days FOR THE WHOLE DAY. Get some girlfriends together and go away for the weekend. Your husband is in DESPERATE need of a wake up call and just what it takes to cook, clean and deal with two small children the entire time you're doing it.
You also say your staying at home was a "joint decision" but that he would have it no other way. Really? Was it your decision too? What's that student loan for? If you're happy at home -that's awesome -but you have the right to go back to work if you want, and if he won't also APPRECIATE you and what you do -then maybe you should. You want to know how to make him feel appreciated, but he doesn't seem to care about making YOU feel that way too. It IS a two way street -so talk up his work like I mentioned before, but let him know specifically that you need to feel appreciate too. This isn't just your "lot in life" -you're doing a very important job here.
Let him know that saying things about you being a "princess" and making fun of you for your complaints is degrading and demeaning. Tell him "princesses" have nannies and housekeepers and servants galore. They travel and shop all the time and are adorned in jewels and couture clothing. Is that you? I don't think so. That comment would have infuriated me quite honestly, and I probably would have told him that the day I would be a princess is the day I found a prince. Not really helpful, but it seems he gets away with a lot...