Think about what value min has in the changeTime function just before rtc.setTime(hour, min,sec)Looks to me that it will always be 20. Is that what you want or do you want it to be the value you set it to by pressing the button ?

Please do not send me PMs asking for help. Post in the forum then everyone will benefit from seeing the questions and answers.