if(DownButton == HIGH)...can be written as...if(DownButton)
if(DownButton == LOW)...can be written as...if(!DownButton)
Note the exclamation mark.
All those separate if() startements can be inside one big if() statement, glued together with AND (&&).
if(!DownButton && !UpButton && !RightButton && !LeftButton && millis() - time_now >= timeout) {
// code here
}
Conditions are tested in that order. If one is not true, then the rest is not tested.
Leo..