A 29. sorban az innerHtml-be bármit beletehetsz. Most mit teszel bele? A numberList tömböt.
A te gondod az, hogy a numberList-be mindig az aktuális összeget rakjuk bele. Hol? A 28. sorban.
Szóval mi a megoldás: kell egy normalizált verziója az új számnak, és azt kell a tömbbe rakni. Például így megkaphatod a normalizált számot:
const ujszam = this.calc(0, this.ujszam_input.value);
Mindenképpen a 26. sornál korábban, mert ott töröljük az input_value értékét, mondjuk a 22. sornál jó lenne.
Ezután a 28. sornál az új számot kell a tömbbe rakni az összeg helyett, de csak akkor, ha helyes az új szám. Tehát cseréld le azt a sort erre:
if (ujszam) {
this.numberList.unshift(ujszam);
}