Things often get a little messy when working with multiple workbooks and moving between them especially if the code does not specifically address the workbook when activating a sheet/range etc.
That said the errors it is returning are strange at times, and I can't explain why it worked in the old book and not a copy, technically the code should work, but I definitely see the same problems that I suspect you had.
However, with a few changes in code (I did not look to re-write it, just deal with your problems), I believe it will run properly:
Bookmarks