I have the same vehicle and had the same problem. It could be 1 of 3 things.
1) Refrigerent low
2) Bad coolant level sensor
3) Aux. Fan Resistor, failing or has a rusted connection
4) Bad Coolant Temperature Sensor (picture borrowed from JimF's site :-) It's the blue one in the middle.
Check out the following interesting links:
Auxillery Fan Problem
When you disconnect the coolant Temp sensor, do the fans go on? If I remember correctly, they should if your relay is good.
A new relay is around $25 and a temp sensor is also cheap. Get them both here.