If you have uploaded multiple files to Google which end up in the same folder in your Google Takeout that had the same original upload name, Google names the jpg and json files differently. This causes the google-photos-takeout.sh script to assign all identically named JSON files to the base jpg instead of a 1:1 mapping you'd expect.
Example:
I have four files named IMG_0484.JPG that I upload to Google Photos.
In my Google Takeout, I end up with four image files, IMG_0484.JPG, IMG_0484(1).JPG, IMG_0484(2).JPG, IMG_0484(3).JPG and four json files IMG_0484.JPG.json, IMG_0484.JPG(1).json, IMG_0484.JPG(2).json, IMG_0484.JPG(3).json,
google-photos-takeout.sh assigns as such:
[14120/129828] ./Photos from 2012/IMG_0484.JPG(1).json : ./Photos from 2012/IMG_0484.JPG
[14121/129828] ./Photos from 2012/IMG_0484.JPG(2).json : ./Photos from 2012/IMG_0484.JPG
[14122/129828] ./Photos from 2012/IMG_0484.JPG(3).json : ./Photos from 2012/IMG_0484.JPG
[14123/129828] ./Photos from 2012/IMG_0484.JPG.json : ./Photos from 2012/IMG_0484.JPG
This is what is expected:
[14120/129828] ./Photos from 2012/IMG_0484.JPG(1).json : ./Photos from 2012/IMG_0484(1).JPG
[14121/129828] ./Photos from 2012/IMG_0484.JPG(2).json : ./Photos from 2012/IMG_0484(2).JPG
[14122/129828] ./Photos from 2012/IMG_0484.JPG(3).json : ./Photos from 2012/IMG_0484(3).JPG
[14123/129828] ./Photos from 2012/IMG_0484.JPG.json : ./Photos from 2012/IMG_0484.JPG
This occurred for a huge number of my files since over the years many cameras from different families have been used which coincidentally had the same naming scheme.