i think some kids just feel a little more insecure about some things than others... i know i even now as a grown up, i feel a little uncomfortable about eating out in groups when i know that my meal is very different looking to everyone elses, and that i'm going to have to say something or stand out in order to get it, and get a few questions from others, just for being me- but i also i have friends who wouldn't bat an eyelid about doing the same thing, but who would die of embarrassment or dread in situations that don't phaze me at all.
have you talked to your son about how lots of different people eat and don't eat lots of different things, and that while he might feel different to the kids on his street, he really isn't that different to lots of other kids in his city?
you could explain that lots of children don't eat seafood and pork because they're jewish, or other meats cos they follow other religions. that lots of kids don't eat peanuts and eggs and milk and lots of other foods cos they make them very ill, and lots of kids don't eat animals because they feel that its not nice to do (like you). lots of kids don't eat lots of things just cos they think they taste horrible, too! lots of children from different backgrounds eat very different foods to him all over the world, every day- (eg: kids from different backgrounds living really near to him might eat mainly jamaican, indian, or thai foods etc... he'd think their dinners looked very mysterious, and they'd find his friends dinners to be funny looking too) and while they're all around him, he probably just doesn't notice, cos he's worrying about his own dinner looking different (just like some of them are!).
with parties and stuff... a lot of my embarrassment is in standing out... maybe your son is the same, it sounds like it if he's eating his snacks out of sight, before and afterward the parties. some kids respond well to embracing their specialness and saying 'hey, i'm different, and i should be proud', and some don't find it so easy. i found it hard to be different sometimes too, lol.
as a sneaky tactic, could you maybe have a chat with parents some time before they host each party, and explain that your son doesn't eat some things, and that he gets a little shy about being different, and doesn't like a fuss (so that they wont fuss over him more!), and that you'd like him to not feel too different, and ask if you can help by bringing some food that he can have - not for him, but for 'the party' - by providing a few plates of 'non weird' but still vegan party foods that your son knows are 'safe', but which the other kids'll also eat without noticing they're vegan- he might feel a little more like he fits in.
I'm sure many mums and dads planning a birthday party would understand this approach (i'm sure they can relate, as most mums have a 'picky' kid, which while a different thing, often raises similar issues around food) and if they're handling a party, they would probably be really greatful for the help with the food.
it might cost you a few bucks, but if you were willing to provide some peanut butter and jam/jelly sandwiches, some fruit on stick style things, some oreos (not exactly healthy, but vegan in most areas!) and some vegan but 'normal looking' chips- or even some tofu dogs (i bet many kids wouldnt notice the difference) and goldfish style crackers, etc, then he could eat some things that looked the same as everyone elses food, and share it with everyone else- and knowing how hyper kids are at parties, they most likely wouldnt even notice that he wasn't eating everything on offer.
if these thins were bought to the party subtly and discretely, and served with the rest of the food (maybe put on display on plates that were a different colour, so they're easy for your son to pick out, with a subtle parent/organiser available to just remind him 'hey, you'll like the things on the blue plates- wink wink!') then i think he'd maybe relax a bit, especially if he sees that he's eating the same stuff as lots of other kids, and that he can still share this part of celebrating with them.
just an idea.