In this case, there is no option. You either work contractor or don't work. This law is in place to establish this option of "better job". You wouldn't have an option without it.
No, that's the thing. It's not turning 300 contractor positions into 300 better jobs. It's turning 300 contractor positions into a very small number of better jobs (not all of which will actually go to those contractors), leaving a lot more people unemployed.
US unemployment is the lowest it’s been in 50 years and wages are starting to rise due to employers desperate for labor. This is the best time for labor policies that cause churn to be established.
...and those unemployed people will find better jobs with other companies, since all California companies are required to comply with the new law, and the collective amount of work performed by California companies (and thus the collective number of workers required to do this work) is not affected by the new law.
Why wouldn't the collective amount of work performed by California companies be affected? It seems very likely that consolidating a lot of contractors into a few employees would reduce the total number of working hours needed.
The collective amount of work performed by California companies is absolutely affected by the new law, because it's not a constant. The amount of work a company has to do is affected by the cost of performance. If costs go up, a lot of work is no longer affordable to complete, so that work doesn't happen.