So you have a total length of your arm of 58cm. The center of mass may be further past the end of the gripper so I am allowing 5cm for that. Total length of 63cm.
Holding torque required just for the load:
Force = mass x acceleration
Torque = Force x radius
Torque = 1kg x 9.8 x 63cm [in N.cm]
= 617 N.cm
This is a lot of torque and we haven't factored in the weight of this robot arm.
Some motor datasheets/specifcations:
Whether you go DC servo motors or stepper motors, you will need to use decent motor drivers hooked up to your Arduino to drive the current needed by the motors.
You will need at least 4 motors for your 4 DOF. Lets assume each gearbox-motor combo weighs 700g. On top of that lets assume that the frame weighs 1kg. Lets assume the center of mass is exactly half way along the arm (ie. 31.5 cm)
Torque = (4 x 0.7 + 1) x 9.8 x 31.5
= 1173 N.cm
The gripper needs to be decent to hold 1 Kg - so lets assume that it weighs 600 grams. Lets assume the center of mass is exactly in the middle of the gripper (ie. radius = 54 cm)
Torque = 0.6 x 9.8 x 54
= 318 N.cm
So now lets add the total torque required:
Torque = 617 + 1173 + 318
= 2108 N.cm
or 211 kg.cm
The motor closest to the base will need to be the strongest as it needs to provide the most torque. The motors need less torque the further away from the base they are.
If you were to use stepper motors, you will need gearbox assemblies to increase the output torque. It is even possible to use 2 stepper motors driven in unity to provide double the torque.
If you were to use a stepper motor you will need a motor like this:
Alternatively, servo motor like this could be used:
Either DC servo motors or stepper motors (with gearboxes) would be OK for this robot arm. I would go with DC servo motors because they are slightly lighter and can handle the torque without needing a gearbox. However the DC servo motor is about 3 times the price of the stepper/gearbox combo.