Need some help with millis() and debouncing. Driving me nuts!

Seems it's hard for you to adapt the code. try something like:

*Note - this is not debounced. Just a basic representation of how to delay for 1 second then 24 hours without delay

unsigned long timer;
boolean buttonState = digitalRead(buttonPin);
if(!buttonState){  // if button state is low then it is pressed
  myServo.writeMicroseconds(1600); // spins servo
  timer = millis(); // set timer
}
  
if (millis() - timer >= 1000) myServo.writeMicroseconds(1500); // stop servo at 1 second of running

if(millis() - timer >= (3600000*24)){ //3600000 millis per hour for 24 hours
  // it's been 24 hours so do some other stuff
}