Arduino, two buttons powering and digital inputs in the same time
I see a few issue with this circuit, although I think it will basically work the way you intend it to.

But first one correction, already pointed out: since you're using internal pull-ups and connecting the switches to ground, pressing S1 will pull pin 7 low (not high) and S2 will pull pin 8 low.

The first issue is that your processor will see a ground that's about 0.7 volts above the actual ground due to its being connected to ground thorough a diode. So if your battery is delivering, say, 3V (it's a key fob so probably not 5V right?) then the processor only gets to use 2.3V.  Also its idea of "high" and "low" will be offset from all the other components in your circuit.

The next issue is that when you press a button, the corresponding pin will be connected directly to ground, which will be at -0.7V relative to the processor's ground (also already noted). That may generate a current from the processor's ground, through the pin's internal protection diode, and then out the pin to the actual ground. If that happens, it could be a lot of current, because there's no resistors anywhere in the circuit to control it. On other hand, if the internal diodes have the same forward voltage as your external diodes then maybe no current. But it seems iffy.

Another issue is that the user is directly controlling the power supply with the switch. Bad contacts on the button may cause the processor to startup with very low voltage, or gain and lose power a couple of times before the switch is fully engaged. Also there's the chance that the user will release the button before your program is able to complete its task. I think you're aware of these issues.

I really think your best bet is to keep the processor powered but in sleep mode. Sleep mode is specifically designed for this use case. Even in its deepest sleep mode, the ATmega processor can respond to pin interrupts.