Work in prisons is often not optional, and if it is the inmate may not earn "good behavior" time if they choose not to work. It also averages something like $0.60/hour across the country.
I don't think $17/hour & mandatory sobriety are anything close to prison labor, but I will grant you that it isn't consistent or fair to fire someone that tests positive for marijuana if they weren't high at the time of the accident. Is there a way to test if someone is currently high on weed vs. has simply had some recently?