You need 4 vertices for a rectangular sprite. For 20000 you need 80000 vertices. The maximum value that can be represented by an GL_UNSIGNED_SHORT index is 65535. So you can't draw them with a single draw call.
This is only a guess since I don't see the code that creates the batches.