Why does heater fan only work on high speed?
Defective ballast resistor pack.
It sounds like it could be the blower motor relay / resistor. I replaced mine today in my 2001 Chevy Impala. It was next to impossible since I heard that the way to get to the resistor was to remove the blower motor housing and repair it that way. I instead removed the blower motor and got to it that way. The two screws in the back are knuckle busters. Good luck and I hope you have patience or enough money to have someone else repair it.