Wake-up light arduino need help

This what we have for now:
#include <Arduino.h>
#include <Wire.h>
#include <LiquidCrystal_I2C.h>
#include <TimeLib.h>

#define LCD_ADDRESS 0x27
#define LCD_COLUMNS 16
#define LCD_ROWS 2

#define BUTTON1_PIN A0
#define BUTTON2_PIN A2
#define BUTTON3_PIN A1
#define BUTTON4_PIN A3

#define DEBOUNCE_DELAY 50
#define LONG_PRESS_DELAY 5000
#define NO_BUTTON_PRESS_TIMEOUT 5000

LiquidCrystal_I2C lcd(LCD_ADDRESS, LCD_COLUMNS, LCD_ROWS);

volatile bool button1Pressed = false;
volatile bool button2Pressed = false;
volatile bool button3Pressed = false;
volatile bool button4Pressed = false;
unsigned long lastButtonPressTime = 0;

void button1ISR();
void button2ISR();
void button3ISR();
void button4ISR();
void handleButtonActions();

void setup() {
lcd.init();
lcd.backlight();

// Adjust contrast (you may need to adjust this value)
lcd.setContrast(50);

setTime(0, 0, 0, 1, 1, 2020);

pinMode(BUTTON1_PIN, INPUT_PULLUP);
pinMode(BUTTON2_PIN, INPUT_PULLUP);
pinMode(BUTTON3_PIN, INPUT_PULLUP);
pinMode(BUTTON4_PIN, INPUT_PULLUP);

attachInterrupt(digitalPinToInterrupt(BUTTON1_PIN), button1ISR, CHANGE);
attachInterrupt(digitalPinToInterrupt(BUTTON2_PIN), button2ISR, CHANGE);
attachInterrupt(digitalPinToInterrupt(BUTTON3_PIN), button3ISR, CHANGE);
attachInterrupt(digitalPinToInterrupt(BUTTON4_PIN), button4ISR, CHANGE);

}

void loop() {
static unsigned long lastUpdateTime = 0;
unsigned long currentTime = millis();

if (currentTime - lastUpdateTime >= 1000) {
    lastUpdateTime = currentTime;
    if (!button3Pressed) {
        adjustTime(1);
    }
}

int h = hour();
int m = minute();
int s = second();

lcd.clear();
lcd.setCursor(0, 0);
lcd.print("Time: ");
lcd.print(h < 10 ? "0" : "");
lcd.print(h);
lcd.print(":");
lcd.print(m < 10 ? "0" : "");
lcd.print(m);
lcd.print(":");
lcd.print(s < 10 ? "0" : "");
lcd.print(s);

handleButtonActions();

}

void button1ISR() {
if (!button3Pressed) return; // Button 1 only works after button 3 has been pressed
if (millis() - lastButtonPressTime < DEBOUNCE_DELAY) return; // Debounce
button1Pressed = true;
lastButtonPressTime = millis();
}

void button2ISR() {
if (!button3Pressed) return; // Button 2 only works after button 3 has been pressed
if (millis() - lastButtonPressTime < DEBOUNCE_DELAY) return; // Debounce
button2Pressed = true;
lastButtonPressTime = millis();
}

void button3ISR() {
if (millis() - lastButtonPressTime < DEBOUNCE_DELAY) return; // Debounce
button3Pressed = true;
lastButtonPressTime = millis();
}

void button4ISR() {
if (millis() - lastButtonPressTime < DEBOUNCE_DELAY) return; // Debounce
button4Pressed = true;
lastButtonPressTime = millis();
}

void handleButtonActions() {
static bool button3LongPressed = false;

unsigned long currentTime = millis();

if (button1Pressed) {
    adjustTime(10); // Adjust by 10 minutes
    button1Pressed = false;
}

if (button2Pressed) {
    adjustTime(-10); // Adjust by -10 minutes
    button2Pressed = false;
}

if (button3Pressed) {
    if ((currentTime - lastButtonPressTime) >= LONG_PRESS_DELAY) {
        button3LongPressed = true;
    }
} else {
    if (button3LongPressed) {
        // Implement alarm setting logic here
        button3LongPressed = false;
    }
}

if (button4Pressed) {
    // Implement buzzer stopping logic here
    button4Pressed = false;
}

}