The diode and (yes) P-channel MOSFET must be rated >1A and > voltage between Vcc (Vin) and Vout. You want >24V between input and output, so choose at least a 40V MOSFET. 1N5817 is no good - its only rated 20V - so you'd need 1N5819. (30 V rated 1N5818 is a bit too close to its limit). For a quick test on the bench you could try 2x 1N5817 in series but dont trust that for any real application. As real 555 outputs dont swing all the way to Vcc, the MOSFET may need a gate pullup resistor if its threshold voltage is much under 4V. - try 4K7.
The Zener gives a much sharper 'knee' to the voltage sense circuit, so makes it shut off and restart over a much narrower voltage range once the output voltage reaches the setpoint, which makes the output ripple voltage much smaller. Try a 5.1V one for your 12V out and fiddle with the R4,R5 divider to get as close as you need to 12V.
N.B. the inductor needs to have a saturation current >>1A and a low DC resistance, at most a couple of ohms, preferably lower.
The snubber circuit (R6, C2) is *NOT* optimised. Its there to keep the switching node (MOSFET drain) from ringing at a highish RF frequency when the MOSFET switches off, and to prevent it spiking much above Vcc or below Vout. You'd need a good 100MHz or better scope to see what's actually going on there in real life. If its still making a lot of RF interferance you may need to add a 100 ohm resistor in series with its gate, as close as possible to the MOSFET. The circuit also needs good decoupling - try a 470uF low ESR 105 deg C 25V aluminum electrolytic, rated for >=1A ripple current, + 0.47uF ceramic in parallel, between the MOSFET source and the bottom end of R1, and also two 0.1uF ceramics directly across pins 1,8 and 1,5 of the 555.
Once you've finished playing with it, tear it apart and build a MC34063 based circuit!