The shellac itself is also acidic, which further accelerates the eating off the steel, and probably why ammonia breaks it down.
I've probably had 4 or so cans leak in 20 years. They tend to be the one that I forgot on a shelf somewhere and only discover a year or two later. The cans I am actively using seem like they don't leak for whatever reason.