Ethernet, RS485, CanOpen how to choose the right for robotic Arm
It all depends on money you want to spend and the required performance. Also keep in mind that you have to get a software layer protocol. What you have listed are hardware layers, except for Ethercat which is an embedded protocol over Ethernet PHY.

If you want to connect them in a daisy chain then RS485, CAN, Ethercat. Note that Ethercat slave is rather expensive, but it is the best from your list. If you need synchronized moves, then also the protocol shall be synchronous. With Ethernet PHY are Ethercat (Beckhoff) and Profinet (Siemens), for RS485 Profibus (Siemens),...

IMO, for a slow DIY application you can go with RS485 and some non-synchronous protocol like Modbus which is easy to obtain. Other may need special hardware, licences.   

EDIT:

None of industrial machines have full-duplex communication in between master and slaves. They are all half-duplex even the Ethercat. It makes no sense that one device sends data at is own. First, the telegram consists of an address and then often a control word, and fixed number of data words, for example position, speed, torque setpoint. The device answers, only when asked usually with a status word, actual position, actual speed, actual torque...For Ethercat master implementation you would need a OS, with real-time or preemption kernel. RS485 is somehow CPU expensive at high baud rates. The Profibus RS485 uses an ASIC that does only communication between master CPU and the RS485 network. CAN is prefered for professional use with MCU's as CanOpen and DeviceNet. You can get some implementation of CanOpen master for free (https://github.com/CANopenNode/CANopenNode) , but mostly is not free of charge. 

It also depends an what platform you will run all these things and what slaves you will buy, I mean servo drivers.