Formuliere das Problem mal umgangssprachlich.
Denn wenn es nur darum geht, eine Zufallszahl zu erzeugen, die nicht durch 8 teilbar ist, dann würde ich folgendes machen.
var r = 0;
while (r%8 == 0) r = Math.round(Math.random() * 64);
zufall.push(r);
Oder noch einfacher:
zufall.push(Math.round(Math.random() * 8) * 8 + Math.round(Math.random() * 7) + 1);
das erste random ergibt eine Zahl zwischen 0...7 mit 8 multipliziert,
der Rest ergibt eine Zahl zwischen 1...7;
Gruß, Mathias