I can see why you would be upset.
I do think reprinting a shirt for your son is the best answer and helps to fix the problem.
In my experience kids sign these shirts at the end of the year and stuff. ..and in many years to come the shirt will be insignificant.
This is a good moment to discuss how mistakes are made and how we can gracefully handle them.
He will get another shirt.
He will have his name on it.
I think reprinting the shirt for the entire class is quite costly and probably won't be such a big deal in a few months.
I know it seems like it will be. But from my experience kids do move on from this stuff.