In your save system You draw chosen data from your nodes using get_save_stats
function. This function translates nodes properties to Strings. Strings are lined one below the other for every saved node in one file. Every node has the same things saved - parent and position. Your Global script doesn't have parent nor position, so it would throw different error later anyway.
You want the Global to save only last checkpoint position.
So You need to store it manually. In save_game() function, before it closes file, add line :
save_file.store_line(to_json({"lastcheckpoint" : Global.#your_variable_name_here#))
and in loadgame(), inside while loop, under nodedata introduction:
if node_data.has("checkpoint"):
Global.#yourvariable# = node_data.checkpoint
else:
# the rest of the code must be here, indented
Now You can remove Global from Saved group, its ID will be safe, and only checkpoint data will be stored/loaded
I could rework your code and post it, but You pasted print_screens, so I can't edit them ;)