How many of them compare to theft from charity?
Was the guy who stole from your work canteen stealing from a charity? As I believe your point was it is the act of dishonesty that was the problem, not who that dishonest act was against.
What if someone who works for a charity uses some of their worktime to do something non-work related that they know they shouldn't but doesn't declare it on their worksheet? Or prints a personal letter at work against work rules. Both are knowingly taking things from a charity that that person has no right to do so, so I assume instant dismissal is the only recourse for such dishonest action.
It was undoubtedly a very shitty thing to do and deserves some form of punishment. A final warning and heavily suggest he should make a donation to the charity out of his own pocket.
But compared to what other people have done and not faced dismissal it feels massively draconian.