Determine Correct Capacitor Value
The DS3231 chip drives the SQW pin at the set interval (one hour in your application, correct me if i am wrong)
The \$220 pF\$ capacitor value would have been irrelevant if you had a GPIO from Arduino connected to the gate of the PMOSFET (at the same point where SQW is connected)
The SQW pulse will be available for \$500 ms\$ (zero Volts)
During that time, the Arduino gets Power (PMOSFET turns on due to Valid \$V_{GS}\$)
But, after \$500 ms\$, the SQW goes high turning off the PMOSFET, thereby cutting power
In your application, the \$500 ms\$ duration is not sufficient to complete the planned task.
The new \$1 uF\$ capacitor provided, is extending the SQW pulse width effectively by additional few ms which is now sufficient for the arduino to complete the temperature measurement you wanted to do. It also has side effect of more current into the DS3231 pin when discharging (it is wasting small power!), see point 11 for better solution.
the \$RC\$ value (\$12 kOhms\$, \$150 Ohms\$ and \$1 uF\$) is defining the extra timing(in addition to 500 ms pulse duration provided by SQW pulse) before the PMOSFET again turns OFF. You can measure it with an oscilloscope.
You have easy option to design a latch circuit, let me know if oyu need more details on it.
the ON time for now (approx.) is \$ 500 ms + (12k+150 Ohms)*1u ~= 512 ms\$ it depends on the current consumed by the arduino \$V_{GS}\$ voltage of the MOSFET, and Supply voltage!
Connect one GPIO pin from arduino to the place where SQW is connected. a small value cap of value in nF can be still there instead of \$1uF\$. you can then drive it low soon after power ON. complete your operation and then drive it high. If you complete operation with in \$500 ms\$, you will still have power for the remainder of \$500 ms\$, else you will switch off instantly (suicide)