The usual way to do this in openGL 2.1 would be to draw each one like this (pseudocode):
for sprite in sprites:
glTranslate3f(sprite.x, sprite.y, sprite.z);
However, notice that you now have many more draw calls, and each one has to send its own 4x4 matrix (16 floats altogether). If you can just update a single VBO, send all of the sprite data at once and then render it with a single draw call, then you would probably find that this is faster. As you add more sprites, this might become unwieldy, but less data sent and fewer calls to the graphics card will probably be faster.
At any rate, it's probably best to do whatever is easiest for you now and speed it up later if you have to. No matter what, drawing a bunch of 2D sprites is going to be pretty fast.