I haven't read all the replies yet but I was also a young mother. Though I was married at 18 I had 3 children by the age of 23. My first thought about some stranger trying to pick up my child out of a shopping cart is "you dare!?!?" She would have got the sharp side of my tongue for presuming to touch my child let alone to lecture me.
How can anyone think that 21 is too young AND to assume that you aren't married???
Just carry yourself with dignity and assurance and don't let them get to you.