In that situation a "0 hour contract" would mean Uber has to pay for all of their benefits even if they don't work at all. A net negative for uber, so the 0 hour contract isn't created. The only way this changes while not ensuring uber loses money on their drivers is if they operate like a regular company and have both part-time and full-time employees, with 20 hour minimums for part-timers.