It sounds like you have some resister issues. Here's how I think it works. I say 'think' because, while I 'know' it works this way on my wife's Grand Prix, I only recall previous threads on this board talking about about the circuit and they seemed to say it was the same.
When the switch is on high, the power (voltage) goes directly to the blower motor as it is only a single speed motor. When the switch is set to anyone of the other settings, a resister is inserted into the circuit that reduces the voltage to the motor, resulting in a slower speed.
So, if I am correct (and I am sure I will be corrected if not), there appears to be some problems with the resistor pack. So, where is it? The previous thread seemed to say is was accessible from the engine compartment near the firewall on the passenger side. Isn't that where the heater blower is mounted? I hope it is. Is was a real PITA to replace it on the Grand Prix as it was tucked up under the dash on the passenger side.
Good luck and let us know how it goes.