Steppers mainly because they are the poor man's solution to a servo motor. Steppers can be run into open loop and have higher torque at low speed without a gearbox than other DC motors. This means lower parts count and cheaper cost. The catch is that since you are running them in open loop with no feedback you must ensure that the stepper is always strong enough to move when commanded. Because if it isn't and slips, you won't know about it. UNless you use an encoder of course, but then that starts to defeat the purpose of low parts and low cost.
You will get better results with a DC brushed or brushless gearmotor with an encoder in a true closed-loop feedback system (though it requires a more complicated motor driver. an encoder, and a gearbox).
My opinion ( my preference) is that if you are going to go with a stepper for the steering motor, perhaps you might as well go with a brushed gearmotor rather than an RC servo for your drive motors. It's just more natural for the RC servo to be the steering motor and if you're not going that route, mgiht as well go all the way. They are more rugged too which is important if you are supporting a heavy robot on the motor bearings. It is rather mechanically complex to offload the weight of the robot onto the frame of the robot through something other than the motor bearings.
Of course, lots of parts for this kind of robot means higher cost but you seem to know that so I won't goad you on that. But what's the point of blocks A and B? Just to increase the thickness of the plate for the bearings? Seems like a rather expensive solution to a simple problem. Otherwise that looks like a very durable design. But you might want to consider the diameter of the wheel. Having the wheel centered on the steering axis is good because you have less skid when steering because the wheel doesn't need to move through an arc when you steer, but so is having a larger wheel because you can roll over obstacles more easily, but you do need a higher torque gearmotor because the lever-arm of the wheel, aka the radius is larger.
If you try to get both of those things at the same time, them the centered motor mount has to be long and thin to accomodate the full height of the wheel. This makes the wheel/drive motor mount long and thin which makes it prone to flex because it is bent sheet metal. Switching the sides that the motor and wheel are mounted on(so that the motor is beneath the steering shaft) lets you have as big a wheel as you want by increasing the length of the steering shaft which is much more rigid than the motor mount is. But now the wheel is off center by a bit, but if you make the motor mount very narrow so the wheel is very close to the steering shaft, the benefit of a larger wheel might outweight the increased skiding arc when you steer. For example, outside on dirt, a larger wheel is definately better because there are more bumps and the loose dirt lets you skid more easily. On flat smooth asphalt, concrete or linoleum floors that don't let you skid so easily, a smaller wheel is definately better becaues bumps are no longer a problem but skidding is. For really bumpy high friction surfaces...well...that's tougher to decide.
It's your call:
-less lossy steering and smaller wheels (easier for a lower torque gear motor to drive but not as good with obstacles)
OR
-more lossy steering with a stronger mechanicaly assembly and larger wheels (need a higher torque motor but better for obstacles).
You might want to add "positive camber" to your wheels by bending the motor mount differently. Then if you mount the motor on the outside you can have a very large wheel while keeping the contact patch beneath the steering shaft. This is used on robots to help counter act the flexing/sagging that can occur due to the weight of the robot.
See "Frame sagging caused by weight" on page 219 and the photo on page 221:
https://books.google.ca/books?id=vY...&resnum=1&ved=0CBgQ6AEwAA#v=onepage&q&f=false
However in your case (where the motor mount is above the motor rather than beneath it like on the pg. 221 photo, this severely limits the length of the motor though the more you bend away from 90 degrees unless you increase the length of the motor mount which starts to add flex again. The angle you choose also restricts you to a narrow range of wheel diameters in order to keep the contact ptach below the steering shaft. This is bad if you want to change out wheels for different applications. See PDF.
Personally, I would probably go with a a large wheel mounted on off-center and go with only a tiny bit of camber, if any, to help get the contact patch more beneath the steering shaft. Any more and it would limit the length of the motor and the diameter of wheels more than I would like. But I also favour outdoor robots than can roll over anything more than indoor robots. Like I said in my first and second post , if I was making an indoor robot that did not need to go over bumps or obstacles, I'd use 3 or 4 fixed omni-wheels rather than a synchro-drive- much simpler and stronger.