The layer on which you created your original mask was likely scaled (or your PNG layer is scaled).
To do this, the vertical & horizontal dimensions AND the pixel aspect ratio of the comp and the masked layer from which you're taking position must be identical. You probably have to create your mask on a nested comp. Then the trick should work.
Check the layer you are using to draw your mask to make sure the transform properties are all at the default settings. The easiest way to do this is to select the layer and press the U key twice. If any transform properties are showing and you need the to keep the current state of that layer try this.
Create a new colored solid using a color that will contrast with the colors in the comp and set the blend mode to multiply so you can easily see through the layer. Use the pen tool to draw your mask on the new solid. When you complete the mask then press the Alt/Option key and the m key to set a mask position keyframe. Copy the keyframe using Ctrl/Cmnd + c. Now select the layer that you want to move along the path and press Alt/Option + p to set a position keyframe. The new position keyframe should be selected so just paste using Ctrl/Cmnd + v
As long as you did not move the solid with the mask the animated layer will exactly follow the path you drew. The only exception to this is if the layer you want to move is 3D. You then may have to do some moving to make things work. Maybe this tutorial will give you some ideas:
This shows how to copy and paste a path in 3D to a camera by using a null to get the orientation correct. You can do the same thing to make any 3D layer move along a path in 3D.