I don't like welfare (as opposed to social insurance), but I really don't like intrusive means testing for welfare recipients if we must have welfare programs. Of course, I don't approve of drug use either. What is the alternative? Why not just have the State directly employ people, in public works or state-owned industries if need be? Then any drug testing can be made rationally related to work performance and not just a way to essentially humiliate people who are already miserable.
There used to be a time when socialism/social democracy was seen as an important weapon against the nagging problem of substance abuse among the poor. Now that the State refuses to intervene to create or protect high-wage, high-status employment and just pays people to be idle instead of directly employing them (because that would be Marxism!), we are supposed to be surprised when they turn to drugs.
On a related note, is it just me or has the nanny state expanded alongside neoliberalism? It may seem counterintuitive, but as the State receded in some areas (deregulation, privatization, etc.) it became much more intrusive in other areas, such as family life (for example, divorce liberalization has resulted in much more governmental meddling in family affairs), that used to be considered mostly private. Today, it seems as if the dominant impulse is to control and manage the poor instead of helping to uplift the unfortunate through appropriate public action.