Erm... I think the mathematical rationalisations here are a bit iffy given that |x mod y| <= |y| and it therefore makes perfect sense to use the squeeze theorem to ‘patch it up’ by defining x mod 0 = 0.
It's true that on your approach to y = 0 you'll encounter more and more discontinuities, infinitely many in fact, but they get smaller and smaller and the question of whether it's continuous at y = 0 is different from whether it should have a value there anyway.
The only true answer here is ‘because the standard says so’.