Why is the calculated current with P=VI and R=V/I not equal?
Speakers are not characterized on an exact resistance.

\$8\Omega\$ is the given impedance and is just an approximate value of the resistance over the frequency range. There are many dips and bumps at different frequencies.

So don't put a speaker in a circuit expecting an exact value.



But you're going about this in the wrong way. What you're missing is that the amplifier characterization is based on the signal input to it. IF you put a lot of signal into it, the amp will duly amplify it, deliver 0.8W into the load and sound terrible (10% THD).

IF you put less signal into the amplifier, it will deliver 0.6W, and it will sound just fine (depending on how snobby you want to be).

This has to do with the fact that if you drive the amplifier into clipping, it will deliver 3.3V into the speaker for a longer period of time. This increases the power delivery (and the volume of the sound) but it also will increase the distortion and create harmonics that weren't in the original signal.

The best way to prevent this from happening is to limit the signal going into the amp to a level that will give you the power output you want. You need to consider the voltage gain of the amp (for a 3.3V output amp, this may be quite small) and keep your output signal somewhere in the ballpark of

$$P={V^2 \over R}=0.5W_{RMS} = {(X\;V_{RMS})^2 \over 8\Omega}$$

$$ X = \sqrt{0.5W_{RMS} \times 8 \Omega} = 2 \; V_{RMS} $$

And for a sine wave (which music is not!),

$$ \sqrt{2} \times 2 \; V \; RMS = 2.8V_{pk-pk}$$

This should give you a place to start. AoE talks about all of this, but it's easy to lose your way in the depths of the material.