Yes, although it may seem to you like it is not overheating, it is acting like it is overheating, and the temperatures you report would support the theory that it is overheating. You should be seeing GPU temps of 35-50C when idle, and 60-75C when under load. However, you report that you are seeing what would typically be a load temperature when you are just idling. Your report of seeing temps of 90c or higher under load point to overheating.
If the PSU was at issue, meaning the card was not getting enough power because your PSU was inadequate, it is more likely that you would see nothing at all, at idle and under load.
But... you can determine which the issue is by examining which light is coming on.
D1601 - Over temp protection enabled
D1602 - EXT 12V fault
Those are the two lights that can and will light on an issue. So... take a closer look. If the D1601 is coming on, your issue is temperature. If the D1602 is coming on, then your issue is power.
EDIT As it was pointed out to me that the word guess was used in reference to the temperature of the GPU at load, this begs a few questions. What is the ACTUAL temperature of the GPU at load? What program have you used to determine the temperature of the processor at load? If you are not actually sure of the temperature of the GPU under load, how can you express any certainty as to whether or not your issue is related to overheating?
So... again. As I stated already... you can look to see which light is actually being illuminated to determine whether the card is overheating. Although I did talk about the issue possibly being overheating, I did ALSO provide a way to determine which the issue actually is. Of course, I had to guess as to what the actual card was, because that information was not provided. So it is quite possible that your card doesn't have two warning lights. Again... I don't know that, because I don't have all the information. I only have what you have provided.
You can also use a program like GPU Caps Viewer to stress your card and observe the temps at load... if you haven't already. This way, you don't have to guess what the temps are at idle, and what the temps are under load.