I'm not sure I understand what you mean by a "random instance". Is it a valid instance? Is the position of the instance different every time you run the script?
My guess is that both "Geode-1" nodes refer to the same instance. This means it will have multiple parents, and multiple global positions. So you are most likely getting the global position from the first parent ("Node-1").
In this case, the solution would be to insert a node below "Node-2", ensuring the path to the desired instance of "Geode-1". Try the following code:
Code:
geode = model.insertGroupBelow('Node-2')