Explain the situation to your son and tell him what may happen, that only those who responded will get goodie bags. Tell him this is the consequence of not RSVPing or bringing along uninvited guests, like siblings.
Can we make some sort of universe-wide announcement: "If you don't RSVP yes, your child won't get a goody bag"?
Maybe we should each contact all the PTAs and PTOs and church groups and daycares, etc., etc., in our neighborhood and ask them to inform their members: "The Universal Rule now is: if someone does not RSVP for a birthday party, their child will not get a goody bag. Hosts are responsible for enforcing this; compliance is mandatory. Generosity will not be allowed." Then when we've trained people for, oh, about 15 years, people can start having extras again, and generosity will be optional. (which means we'll have to do this again in about 25 years, but at least it's a start!
IMHO one of the most valuable lessons in life are learned by letting your children suffer or see others suffer the consequences of their actions from a young age. Parents can teach these life lessons or life itself will eventually teach them. Life as a teacher can be a very harsh and heartless one indeed. It seems many parents are OK with their children learning things this way.
Or, you could take each apparent aside and say, "I'm so sorry we don't have a goody bag for your child. You didn't RSVP, and I thought you weren't coming. Will you please explain things to your child?" Let them deal with it.
Though I might also say to the kid, "I'm sorry, sweetie--your mom didn't call to tell me you were coming, so I didn't know! Next time, have her call, so the birthday boy can be sure to make a goody bag for you."