Providing subsidies affects Marginal Private cost but not Marginal Social Cost? According to the theory that I'm seeing on the internet and in textbooks, when a government wants to correct underproduction due to a positive externality of production, they can decide to subsidize the good.



The subsidy would reduce the costs of production for the firm, and hence shift their Marginal Private Cost to the right towards the Marginal Social Cost curve. In an ideal situation, the curve could be made to actually lie on the MSC curve, and the underproduction would be completely solved.

The problem I have with this is that nobody talks about why it's possible for the MPC to ever get closer to the MSC curve. The formula for Social Cost is Private cost + external cost (which is negative in the case of positive externalites of production). So if I were to reduce the private cost of the good, then it's social cost would also reduce. In other words, if I move the MPC curve forward, the MSC curve should also move forward by the same amount.

Doesn't that mean the only way to get the MPC curve to actually get closer to the MSC curve is to reduce the positive externality itself (which obviously isn't done)? Or is it that people already know that the MSC curve will move, so when they're talking about the MPC curve touching the MSC curve, they're talking about the old MSC curve and not the new one?
The amount of external cost is determined by the level of production in this framework. 

If the producers receive a subsidy the MPC shift to the right as you point out. That also means that for each level of cost production increases and therefore the external benefits are less, that is, they are internalizised. If the subsidy is enough the external benefits of production are zero and the MPC=MSC.