A pure libertarian might argue that in an ideal world, there’d be no need for government-subsidized housing for low- and moderate-income households. Nevertheless, it seems to me that in the world we actually live in, even people generally opposed to the welfare state should favor more such housing. This is so for several reasons.
First, government raises the cost of housing through a wide variety of regulations- some justified (e.g. building codes necessary for safety), some not-so-justified (e.g. exclusionary zoning). These regulations, by raising the cost of housing, effectively take money from all households. And because these restrictions aren’t based on ability to pay, they are especially painful for low-income households. Public housing and similar programs, rather than being a subsidy to the undeserving poor, are merely compensation for this act of plunder.
Second, even if the United States abolished zoning tomorrow, it might take decades for housing supply to increase enough to bring rents down. So in the interim, lower-income households would still be suffering from the effects of zoning, and would deserve compensation just as much as they do under the status quo.
Third, even if the United States abolished zoning and similar restrictions tomorrow, public health and safety might support certain restrictions that nevertheless increase the cost of housing- for example, some basic safety protections in building codes. It seems to me that as a matter of justice, government should not be forcing people into homelessness, so government should subsidize housing in order to make up for the costs imposed by even the most legitimate regulations.
Finally, even if there were no housing-related regulations at all, the cost of land would create a floor under housing costs, which means some people would be homeless without government support. So if homelessness creates harmful social externalities of any kind, you might want social policies that prevent such homelessness.