That seems to imply that the outline is part of the shirtless .PNG file.
It doesn't look like a misalignment problem - as the white wall would still look the same, even if the image were a pixel or two too far left/right/up/down... plus you'd see that sort of mistake elsewhere within the picture.
At first, I thought about a combination between anti-aliasing and resizing.
The anti-aliasing would come from Photoshop, that wouldn't cut abruptly but try to soften the transition between the part kept and the expected future background. It wouldn't be pure anti-aliasing but probably, like I said above, a shading on the alpha channel to make the image blend smoothly with its background.
Then when he resize the image in Ren'Py, and when Ren'Py resize it itself, this would compress the anti-aliased-like part, creating a weird effect.
But I stopped my thoughts there. The pixels are expected to have the same color and only the alpha channel would be mixed, what wouldn't change the said color ; especially when put on top of a background that also have the same color. When you put white on top of white, you still get white, whatever the alpha channel value.
Then I read you write this and was wondering: Why do we assume that the images are PNG ?
Of course, the ones he posted are. But PNG is the best way to ensure that the problem will not disappear due to the compression.
Therefore, what if the images he use in the game are in fact JPEG, and so do not have alpha channel ?
The anti-aliased-like part would be then replaced by a shade of white when the image is saved. And later, when Ren'Py do the resizing, the mix of two, or more (we also don't know the original resolution), pixels would lead to a greyest line, exactly like we see in his screenshots.
So, I took another look at the shirtless image, this time regarding at the right part of it. If it was purely due to the use of layered images, the line would be constant on both side. Less visible on the right due to its color, but still perfectly constant. And the fact is that it's not constant.
If you follow the process describe above, on this side you also get shades of grey (since the base color is grey). But when you mix two, or more, pixels together, you get a darker grey that, half of the time, blend naturally with the background, and half of the time is a bit darker, what permit to see the presence of the seam.
So, yeah, I guess that the problem is this one.