At the time you press the button, the esp32 is asleep. It then boots. I guess it all depends whether the button is still pressed when the boot is completed.
This question has been asked previously on the forum, and I am pretty sure the answer is that there is no way to distinguish which gpio triggered a wakeup.
The only option that came to my mind is to hold the push button longer for approx. 2-3 seconds when the esp is already running enough to distinguish which gpio is held (high/low) and thus it is already possible to distinguish which GPIO is pressed.
You could “complicate” things a bit: create flip-flop (bistable circuit) so that when you push the button output of flip-flop stays active until esp boots and it’s (another) output sets this tflip-flop back to standby.
You can create flip-flop in many ways, one of them are good old 40xx series CMOS chips.