Reducing the voltage into a speaker passively
The power level you are talking about isn't a big deal for the right resistors to dissipate.  You have a 0-12 V square wave, which after AC coupling thru a capacitor results in a &plusmn;6 V square wave.  The power into 8 &Omega; is

(6 V)&sup2;/(8 &Omega;) = 4.5 W.

First, dissipating 4.5 W is as simple as using a 10 W power resistor.  Second, when you put a resistor in series the total power drawn from the &plusmn;6 V square wave will go down too.  Your fixation on the resistor getting too hot doesn't make sense.

To find the right resistor value, do the math.  Let's say you want only 500 mW into the speaker instead of the full 4.5 W.  Assuming the speaker is 8 &Omega;, the voltage across the speaker you want is

sqrt((500 mW)(8 &Omega;)) = 2 V

This means the series resistor needs to drop 4 V when the speaker drops 2 V, so is twice the resistance of the speaker, or 16 &Omega;.  The power this resistor will dissipate is

(4 V)&sup2;/(16 &Omega;) = 1 W

so a "2 W" power resistor should be fine.

Note that the total power is also significantly less than with just the speaker connected to the 6 V source.  The resistor is dissipating 1 W and the speaker 500 mW, for a total of 1.5 W.  You can see this another way too.  The total resistance of the speaker plus series resistor is 24 &Omega;.

(6 V)&sup2;/(24 &Omega;) = 1.5 W.