First problem is that you're planning to use a HAT. Unless the HAT you're going to use allows pass-through on some pins, that's going to be a problem for both the RTC and--possibly--the "power" button.
The next issue is, what exactly do you mean by a power button? Do you intend to cut off power to the Pi completely? If so, it'll have to be something external to the Pi, like a line switch. If you just want to put it into a halt state, but with power still being provided to the board, there are ways to do that. The simplest is to use two GPIO pins and a dtoverlay for shutdown. If you pick the right pins (5 & 6, IIRC), you can use a button to shut down and the same button to restart. Note the above HAT, problem with this. IIRC, one of the pins on the PoE header can be shorted to ground to shut down, but I don't know if you can restart that way.
Every RTC for a Pi that I've seen uses the I2C interface, and again, see the point about using a HAT.
The fundamental question about an RTC on a Pi is: Why? If the Pi has network access it will use NTP to keep time, so unless the Pi either has no network connection, or the ports to use NTP are blocked, there is no need for an RTC.