GPIO Button setup with switching power supply
Good news, the solution is simpler than you thought. A GPIO input draws very little current, almost none at all.  The voltage source will not determine the current draw -- the MCU GPIO will. You can therefore "power" the buttons from most any voltage source with a voltage level suitable for the MCU. The voltage supply for the MCU is a good choice, as it's already guaranteed to be within specs for the MCU.

Just connect the buttons as per schematics in this post: Smart ways to detect a button (less power consuming)

You can also add a capacitor between each GPIO input and ground for easy debouncing. You can use a RC time constant calculator (Google for it) to determine a suitable capacitance value. You probably want about 20 ms time constant.