The problem is that the requirement is ambiguous. The "attachInterrupt()" will in general should be expected to cause an interrupt if the condition specified has ever occurred. In this case, if the pin was ever LOW. This is apparently not what you want, and we could spend a lot of time arguing about just how ancient an event should be considered, but at least some of the time, this is the correct behavior (what if the pin state had changed just milliseconds before you attached the interrupt?)
The ISR function should be smart enough to actually check the pin state and/or other conditions (time read from the RTC chip?) before it decides that the "alarm" has actually occurred.
It'd be nice if there were a standard "clearInterrupt()" function, or maybe another argument to attachInterrupt, so that you could do this without having to delve into the guts of the chip's GPIO configuration. (but the ISR should STILL check...)