You need a motor controller to drive the DC motors, on the other hand the servo does not need one as it is already built in.
2.No.
Same as before, you need a motor controller to drive the DC motors.
The motors will draw more current than the microcontroller can provide and may damage it. Also the motors wont spin as fast or have as much torque as they should if connected directly to the arduino.
Usually the motors will also need a separate power source to give the motors enough voltage and current to drive them.
The gound from the Arduino Uno should be connected to the ground of source powering your motors &/or servos.
This illustration shows what I’m talking about - however, the image also indicates +5V (red wire) connecting from the Arduino Uno to the breadboard and is not used, therefore the red +5V wire from the Arduino Uno should not be included of that image
The confusion is maybe related to the naming of the circuit/chip.
Motor controller indicates that there at some intelligence/logic build into the circuit/chip whereas normally it is only a driver (or current amplifier). I prefer to call it a motor driver.
The small servos has intelligence build into them and can therefore be refeered to as motor controller.
In Edit mode click your picture and you will see little control boxes around the edge of the picture. The corners size the picture. Click and drag to re-size your picture.
To give a perfect answer of this, I need to know how much current your motors draw. And, as oddbot said, you need 3 motor drivers as 1 motor driver is 2 channel, i.e. it can control only 2 motors and there aren’t any 6 channel motor drivers.