If you’re using hardware acceleration, you’re limited to a maximum of 32 texture slots - That’s 32 textures per draw call. And that’s the maximum; Mobile GPUs may have as little as eight slots. If you combine textures onto one single texture, you avoid this issue completely. Of course you could also use a texture array… The problem with texture arrays is each texture has to be the same size.
For software rendering, the CPU can copy regions of pixels faster if they’re close together in memory, which is automatically the case with a sprite sheet/texture atlas.