Many states require that the point-of-sale for the alcohol have at least 60% of their sales come from food or other non-alcoholic consumables in order to avoid being classified as a bar. The wine and cheese tasting is almost a purely alcoholic sales event, and therefore is treated as a bar environment, hence the reason under-21s are not allowed.
Since they're not selling the wine, but instead giving it away, it's pretty easy for Amtrak to meet that 60% threshold. And seeing as how they encourage under 21's to go the the theatre located in the same car that rule cannot be in place here. Heck, even during the wine tasting they have to permit kids to walk through the car. I suspect that this is more just a rule to try to make life easier on the attendants and avoid any potential issues.
Now I can't say that this holds true during the entire year, but many times during the summer the event on the first afternoon out of LA is often sold out or close to it. So they tend to chase anyone, not just under 21's, out of the car if you're not partaking of the event. And in the case of someone clearly over 21 not drinking, if that person was taking up a space that someone who would be drinking needed, that would probably be wrong. But in the OP's case, that was clearly not the case. So there was no good reason to throw the non-drinker out.