The engine cooling fan(s) are turned on after the engine temperature has reached 215 degrees or any time there is an AC clutch request, regardless of engine temperature.
The computer turns on the relay and the relay turns on the fans; there is only one relay.
When the heater controls are set to defrost/defog and the heater fan is turned on the AC clutch is energized. Supplying dried air conditioned air to the windshield.
With you saying that the fan(s) will run with the heater fan turned on; tells us that the computer can recognize the AC request and has the capability of turning on the engine cooling fan relay.
Considering that there (I assume) are no engine coolant sensor codes; and your temperature gauge is working; computer and instrument cluster (temp gauge) use the same temp sensor.
You may have a bad computer; that this short may be internal of.
This is just a guess on my part without being there with my scanner, confirming that there are no coolant sensor codes? Or looking at sensor data, confirming that the coolant sensor is sending the proper signal and the computer is interpreting that signal properly?
Dan.
Canadian "EH"