Beware of random circuits found on the internet, especially those that involve mains voltages.
A “standard” light bulb is rated for 220 volts AC. The circuit shown rectifies the AC to DC which results in a DC voltage of 310 volts. That may be a problem, it depends on the type of lamp used.
Make sure you’re solving the correct problem before looking for a solution. You’ve not stated why phase control isn’t acceptable so I’ve got to ask the obvious question: what’s wrong with a triac and a proper optocoupler/driver? Dimming by phase angle firing is how every mains based dimmer works and they’re sold by the millions almost every day on every continent around the world.
To answer you actual questions:
1. You need an optocoupler because of the mains voltage. Yes, there is a huge danger in attempting to eliminate the isolation provided by the optocoupler. Yes, you can drive a logic level mosfet directly from an Arduino output pin but that’s not an issue with the circuit shown.
2. The diode isolates the 100uf capacitor from the actual load so the mosfet gate signal does not have 50Hz ripple on it. Without the diode and cap, the load would turn off very briefly every 10 milliseconds when the gate drive signal went to zero volts.
3. Using the 12 volt supply of the Arduino to drive the mosfet would put you back in the same very dangerous situation as eliminating the optocoupler in question 1.