This has been debated a few times on here, but there's not really a 'correct' way to do it.

Key thing is you want everything to stop in a controlled manner.
For a stepper driven machine, you want to cut power to the power supply, not between the supply and the drivers (modern stepper drivers dump power back into the power supply during deceleration, so if you disconnect the drivers, you risk them going overvoltage and releasing their magic smoke).
Spindle wise, you can cut power.

You also want the controller monitoring the e-stop as it should kill all the enable signals to drivers, which should have a far more immediate effect than waiting for the power to dissipate.

On a commercial machine, you'd likely do most of this with a dedicated emergency stop relay. Key features of them, are force guided contacts, which essentially ensure the relay is working and no contacts have stuck, and often a time delay feature, which gives the controller a few seconds to stop things in a controlled manner, before power is finally cut. However on a small machine with steppers, it's not really an issue.
It's more of an issue on bigger servo driven machines, where you want things stopped in a controlled manner, and in some cases you may not even cut the power to drives, as a freewheeling motor can be more of a risk than a motor held stationary on large machines.

For smaller machines in a non-commercial setting, a couple suitably sized relays should be satisfactory.
On the smaller machines I've built controls for, I have the E-stop 12/24vdc loop powering whatever relays/contactors I need for the various power supplies, with that 12/24vdc also going to an input on the controller.

The E-stop loop can combine various other switches. Some include limit switches (there's arguments for and against this!), driver error signals (again another argument, as you can just take them to the controller to be handled), any overtemp sensors, but if you have the controller inputs available, then you can wire those direct to the controller for easier fault finding.