I might be underthinking it but your approach seems needlessly complicated. To determine if there were 2 different MSTs I would start by running Kruskal to get the first MST. Then you just run it again and see if you could avoid taking an edge from the first MST.
In each step of Kruskal, you add the cheapest edge that connects 2 previously unconnected components. So you have to sort the edges by weight and run through them, adding them to the MST if they connect 2 unconnected components. When there are multiple MSTs you will reach a point where you get to choose between 2 edges of the same weight that both connect the same components.
When you have run Kruskal once, you know which edges are in your MST. If you run it a second time, you will again sort the edges by weight and add the cheapest edges (that connect 2 unconnected components) to your graph. However, if you get the choice to add 2 edges that connect the same components then you can take the edge you didn't take the first time. The end result will then be a different MST (does not contain the one edge) but a valid MST as you operated entirely according the rules of Kruskal.
You basically just do Kruskal but change your tie breaker for edges with the same weight. Iterate the procedure to find even more different MSTs. If you want to know if there're only 2 MST's you should try and find a third MST.