How does the Arduino NANO deal with simultaneous external interrupts?
Contrary to anther answer, two interrupts can happen at exactly the same time as far as the microcontroller is concerned. This is because the MCUs concept of time is its clock signal. Anything that happens after one clock edge and before the next clock edge happened at the exactly the same time as far as the MCU is concerned.
What happens when two sources fire simultaneously depends on the microcontrollers interrupt handler design, and whether or not it is doing something else.

In the case of an AVR, if two different interrupt sources happen at the same time, the one that gets processed first depends on its hardware priority. This is typically whichever comes first in the interrupt vector table. The first interrupt handler will be called, any other interrupts will still set their corresponding hardware flag, but will not immediately trigger their interrupt handler (unless you call sei in an ISR, which is bad for many reasons).
Once the current ISR returns (reti instruction), the hardware flag for that interrupt source will be cleared. This means that if, say, while INT0 was being handled INT0 happened again, it would be ignored, because the flag gets cleared on return.
If after the ISR has returned, one or more hardware interrupt flag for other sources are set, the same process will repeat, with the source being executed whichever has the highest hardware priority.

In the case of the Arduino Nano, Digital 2 corresponds to INT0, whilst Digital 3 corresponds to INT1. In the ATMega328, INT0 has priority over INT1, so if both sources occurred during the exact same clock cycle, then do_this would happen first.
If however INT1 occurred a clock cycle before INT0, then do_that would in theory happen first. However as there are other interrupts at play, such as the timer 0 interrupt used for the millis() function which complicates things. If INT1 happened before INT0, but both happened whilst the ISR for Timer 0 was being handled, then do_this would happen first because on return from the timer ISR, it would have priority.