Real Speaker (not Piezo)

Shouldn't the volume only be a function of the current going through the speaker, though

Yes it is and the capacitor allows more or less to flow. A capacitor has an impedance for AC signals. That's a sort of resistance, the bigger the capacitor the lower the impedance for a given frequency and so the more current flows.

The really simple way is to get some active speakers, the type you plug into your computer or MP3 player. They are chep and contain an amplifier.