If this was intended to be a main meal (supper or lunch), then perhaps the menu could have been limited to the main dishes (croissant sandwiches, chicken fingers and meatballs) plus 2 sides (the fruit salad, and perhaps another side such as a vegetable platter. Appetizers are maybe what caused you to have too many leftovers. They're often served by themselves, well before a main course. It's too easy for a party guest to simply pick up crackers and cheese or other simple apps, while they're chatting, and then be too full for the main course. Just limit the choices and you should be okay.
But if this was just a "serve something to munch on while visiting with the other parents" kind of thing, after school (and not a main meal), then it sounds to me as though you offered too many main dishes. Small chicken fingers and meatballs, plus fruit, and some baguette slices would have been nice, or just the cold cuts and croissants and fruit.
The usual rule is: if you're only having one main course (a large roast, a turkey, or a large ham), then plan on about 6 ounces of the protein per guest. But if you're serving more than one protein as you did (sandwiches and 2 meats), then only plan on 4 ounces of each protein per guest.
But really, it does sound like your party was a success. Better to have some leftovers than to leave your guests hungry. Kudos to you for stepping up to help host a school party!