A Keynesian would respond to the points that you raise by saying the following:
1. When there is a situation of large-scale unemployment of resources, every dollar that the government appropriates would not have been spent by the private sector. In fact, it is precisely because the private sector does not spend enough that we have a situation of widespread and sustained unemployment. The government needs to step in and spend the money because the private sector is refusing or is unable to do so. There are psychological factors holding back the amount of expenditure in the private sector and so there is no way that private sector expenditure can increase without help from the outside. So the government has to step in.
2. This is precisely why the government is not really competing with the private sector for resources when it spends money. Given the lack of private sector expenditure, the unemployed resources would not have found any employment were it not for government expenditure.
3. In a scenario of high unemployment one should not care about how resources are allocated. The key is to ensure that the resources find a source of employment, which they will find only if there is more expenditure. And this expenditure is not forthcoming from the private sector due to certain psychological factors.
A criticism of Keynes must try and pick apart his theory of why unemployment arises in the first place. If one accepts his theory of unemployment as being caused by a lack of expenditure forthcoming from the private economy due to certain psychological factors, one essentially has already accepted defeat!