The distinction between voluntary and public policy initiatives needs to be clear, in the first instance. Both are important elements and one rarely exists without the other. I interpret your question to mean the public policy only.
Policy initiatives, in my view, need to concentrate on the incentives they create. Basically, successful policy makes, or increases, the economic value of CSR practices.
By economic value, I mean to include reputational and other non-tangible benefits that accrue to the firm globally. For instance, if an international logging company can get a certificate of sustainable forestry practices in Indonesia, benefits may accrue in Western markets where their end products are consumed.
Incentives for large firms may, and in my experience frequently are, different than those appropriate for SMEs. Careful research and diligent prospective policy analysis are key in the identification of appropriate incentives and outcome forecasting.
Resources available to achieve policy compliance recognition differ. Large international firms may have entire departments focused on CSR exclusively. SMEs typically do not. Successful CSR policy design and implementation must include careful program design, typically with stakeholder participation.
Your last point is important and, arguably, one of the most difficult to achieve because any policy initiative creates a constituency that will defend it because they receive focused benefits from it. CSR is no different. The bottom line answer is independent outcome evaluation and the political will to act on it. This, in my experience, is very hard to achieve. Evaluators make their living from repeat business and frequently face inappropriate incentives (see the recent PWC cases). Government employees involved in the program will defend against any threat to their job security. Corporations benefiting from the policy will fight to maintain the status quo. All this argues for careful policy development going in.
I obviously skimmed across the top of a very important topic. Hopefully, you'll find some of this useful.