My 2005 had an airbag light and a B1653 Seat Position Sensor Assembly Fault code, with no other codes showing. Disconnecting and reconnecting the yellow connectors under the seats did not fix it. Replacing the clock spring did not fix it either. Why did I try this even though the code was not indicative of a bad clock spring? Because the fresh/recirc/defrost button was not working on the steering wheel. The steering wheel button now works again after replacing the clock spring. Next thing I did was disconnect the seat and clean the 18 years of dog hair and dirt underneath, paying special attention to the seat position sensor area. There was a lot of dog hair down there. This fixed it for me. The airbag light has stayed off for several weeks now, so I'm confident it's a permanent solution. Putting this out there because I didn't see this problem or solution described anywhere.
If you haven't already you may want to inspect the HV battery fan, and if bad assume there is hair inside the HV battery case as well.