Kijk hier eens naar: https://www.arduino.cc/en/Tutorial/BuiltInExamples/Debounce, dat is waarschijnlijk jouw probleem.
En je leest ook 2 keer buttonpin in dezelfde iteratie;
buttonread = digitalRead(buttonpin); // <------------------------- Hier
temp = analogRead(temppin);
...
if (buttonread == 0) {// als drukknop gedruk is
buttonread = digitalRead(buttonpin); // <------------------------- En hier
Dat is waarschijnlijk ook niet nodig.