there is a simple solution here with just the Grid
first zoom into your picture size, then choose the Preferences->Guides,Grid...
then at that point choose the Pixel size to whatever you want, and subdivions to 1 obviously , if it is set to alredy what you want just change it to somethng random and back to what you want to force Photoshop to recalculate and redrawn the pixel grid to your canvas size
here at this point Photoshop should make the correct calculations and drawn align the pixel grid to your canvas correctly and hence you should get proper pixel size to canvas size that align correctly
so if you change canvas size by zooming or otherwise, then just go back to the preference and again do this process to get correct pixel grid calculations and alignment