How loud is a 0.25W speaker supposed to be?
I think that you can get much better than what you are achieving. You say that if you rise the volume the sound becomes acceptable but is distorted...

Let's take a step back. You are feeding your speaker with a square wave. That is pretty much the definition of distorted signal. If you want to have a more clean, less distorted signal on the output you should add a low pass filter somewhere in your signal path.

Not knowing what your circuit does or is supposed to do, nor knowing the schematic, I'm just gonna guess that you only will feed that 1kHz square wave to it. I am also assuming that the input signal is stiff enough to drive a passive, simple, first order low pass filter.

After your 100nF input cap add a series resistor, between the cap and the amplifier input, and hook a capacitor between the amplifier input and ground. Nice values for the components should be 8.2nF and 3.9kohm. You will obtain a first order lowpass filter with a cutoff frequency of about 5kHz, that should do the trick in cleaning your signal.