Interrupts getting ignored

If the device generating the interrupt is not giving a sharp enough rise, you could use a pin change interrupt instead.

But then wouldn't the interrupt occurring twice in a single key press. Major problem is that I have to wait for complete one hour to see if the program works or not. and now you would say that I should test it for minutes. So another strange thing is the program works fine when I test it for minutes like comparing minutes from the RTC. It even works great when I manually assign the values to variable rather than getting it from the RTC. but when I get the values from RTC like hours and minutes the problem starts