There's a big issue in your circuit:
When the voltage falls below working range, the mcu will enter reset state, setting all pins in High-Z.
Now you no longer have control of your shutdown pin.
Q3B will work down to 0.6V, so in the instant the mcu stops, it will enable Q2 again.
Anyways, you must take in count that using this method, if the switch is accidentally kept pressed, the power will be never removed, as it permanently forces Q1 on.
You really need something that forces the off-state when the mcu is not running.
How many does a mcu need to boot up the most basic init, setting gpios, etc? Usually it takes few milliseconds.
This circuit makes a temporal latching, about 400ms. After that, Q3 will force shutdown.
Within this time, the mcu must do at least some basic GPIO initialization, pulling SHUTDOWN pin to ground to prevent Q3 from turning Q2/Q1 off.
R2/C3 make a RC circuit, so you should calculate how much time it takes for C3 to get charged to 0.6V, this example is for 3.3V VDD.
MCP1702 is just as example, representing your VDD rail.
You can read the button at any time, and keep track of the state.
Now if you detect it was pushed down for 10s, just trigger shutdown action, in the moment the button is released the power will be turned off.
You must set shutdown high to power off the circuit.
C3 will get charged, in the instant it reaches 0.6V, Q3 will turn off the other transistors.
When the MCU resets by low voltage, R2 will keep Q3 on until it discharges completely.