Thanks you all for the replies. Much appreciated. When I remove the PCB from the car I will test the resistance between the two poles of each switch.
From the previous testing I did, each button is definately tied to the high pin via a resistor. So for example. I remember that it has the following 4 buttons tied to a single pin and a common ground pin. The ground pin seems to be same across all buttons and also there seems to be numerous ground pins that all seem to be ground. But there is only pin tied via the resistor for each group of buttons. The 4 buttons I tested were:
1. passenger temperature increase
2. passenger temperature decrease
3. driver temperature increase
4. driver temperature decrease
With my multimeter set to measure ohms, i had the probe hooked to the common ground and the pin that the 4 buttons are grouped to. When everything was working fine, If i did not press the button I wasn't getting any readings or change on the multimeter. And when i press the buttons I would get the following readings that match the exact resistor value that it's tied to. I tested this on my friends PCB board too and exact same thing.
But then when the random issues started happening, I hooked up the multimeter again exactly same and i started noticing all random ohm readings appearing even though nothing was being pressed. I figured out which button it was that was creating these ghost readings, so instead of removing the button itself, i de-soldered the resistor tied to that button and the problem disappeared. And then it works for a many weeks and then the problem occurs again. So it's almost like each button is dying one by one giving different ghost ohm readings.
My question is, If the job of the button is simply to link the connection when pressed between high and low through a resistor, then how is it that a faulty button is creating random resistance values which in turn is make the MCU not understand what's going on? So for example driver temperature increase button is tied to a 13k resistor (SMD 133) but when the malfunction was happening, i was getting really strange varying ohm readings going to hundreds of thousands of ohms (cant remember exact) and sometimes it will go down very low. And this strange reading disappears if i remove the resistor linked to the button. and the rest of the buttons then work.
The strangest thing is that I have two of these systems and only my PCB is doing this.