I think it's because of it muting the messages of everyone on the server,
even players who would join after you mute everyone. Looks like '/mute all' modifies one 'global' boolean (mute/allow every incoming message) instead of modifying a boolean for single player (mute/allow specified player), so your client doesn't have to modify new one when someone joins the server.
It's like two separate layers of muting working at the same time. One of them mutes one player a time (/mute ID), second one mutes every incoming message (/mute all, has a priority). You can check it by doing /mute all, then /mute 2 (any ID of active player will do) and then /mute all again. You'll see that player #2 is still muted.
So it'll stay like this unless /mute all is going to behave like looped /mute ID.