Ciao, puoi semplificare il codice in questo modo
codice:
<!doctype html>
<html>
<head>
<script>
const varColorValue="FFFFFF";// default color - white (index = 0)
const colors = [varColorValue, "DEC7FF", "CAD5FF", "E4FFB1", "DDDDDD" ]; 

function setbackground()
{

setInterval(function(){
    let index = Math.round(Math.random()*4);
    document.body.style.backgroundColor = "#" + colors[index];
},2000);// 60000 milliseconds delay


}


window.onload = function(){
console.log('start')
if((/Android|webOS|iPhone|iPad|iPod|BlackBerry|IEMobile|OperaMini/i.test(navigator.userAgent))){
    console.log('mobile')
    return;
}
setbackground();
}
</script>
</head>




<body>


content
</body>
</html>
Metti i colori in un array di modo che l'indice dell'array corrisponde all'index generato(se mai sposterai i valori per cambiare sequenza).
setInterval() se vuoi un ciclo continuo altrimenti eseguirari una volta sola dopo 60 secondi.
Se mobile non fai nulla, altrimenti richiami la funzione.