One power-plug and one power supply is enough. That's assuming everything runs off the same DC voltage, or that your power supply has the right multiple voltages, etc.
Your drawing looks right as long as one of those connections to the light is ground.
A relay is "automatically" isolated. That is, there is no (internal*) electrical connection between the coil and the contacts. If you have a multimeter, you can check that (by measuring Ohms).
Electro-mechanical relays usually need a driver circuit (because the Arduino can't put-out enough current for the coil) and some relay boards (with built-in driver circuits) have additional optical isolation between the driver circuit/coil and whatever is driving it. That's not always necessary but helps to minimize voltage spikes from coil which can sometimes cause glitches in the microcontroller. Typically the optically-isolated driver shares a common ground through the power supply (depending on how you connect & power the relay board) so it's not totally isolated, but the relay contacts are isolated.
A solid state relay is optically isolated, and you can get solid state relays that will operate directly from the Arduino without a driver.
And of course, the power supply/phone charger is (transformer) isolated.
- You can wire the contacts to the "non-isolated" part of the circuit so they are no longer isolated. i.e. Relays used in cars are usually switching the same 12V that's running everything else.