Motor of what type should I choose?
Use a servomotor if you need precise control, they have built in feedback. 

Steppers do not, they are open loop so you can only say "step x amount of steps" so you'll need an exteral method to calibrate the position of the motor.

Servos can be commanded to a specific location and they will go there every time.


  Servomotors are generally used as a high-performance alternative to
  the stepper motor. Stepper motors have some inherent ability to
  control position, as they have built-in output steps. This often
  allows them to be used as an open-loop position control, without any
  feedback encoder, as their drive signal specifies the number of steps
  of movement to rotate, but for this the controller needs to 'know' the
  position of the stepper motor on power up. Therefore, on first power
  up, the controller will have to activate the stepper motor and turn it
  to a known position, e.g. until it activates an end limit switch. This
  can be observed when switching on an inkjet printer; the controller
  will move the ink jet carrier to the extreme left and right to
  establish the end positions. A servomotor will immediately turn to
  whatever angle the controller instructs it to, regardless of the
  initial position at power up.


Source: Wikipedia Servomotor