Alarm time settings on a DS3231

Yes at first look helicopter view your code feels OK - I trusted your comment that the alarm triggers at the right time if you don't cut power supply.

Hence my suspicion on battery. have a look at this topic and answer #1 about cutting the trace

I would recommend the rechargeable battery