It is unlikely that you have a starter issue. Your problem is either around the key switch (wiring there of) or wiring going to from the fuse block (engine comp). As posted previously in this thread, the schematic shows why you are getting the result (starter in run). Battery is always being sent to the starter relay. However, the relay gets its ground from the PCM ONLY when it "sense" that the key is in "start".... which alllows a "voltage signal" to show up at the PCM signalling it to ground the appropriate wire back to the starter relay ... which then cause cranking. As the schematic shows, this should NOT happen in run since it clearly show there is NO connection in the key switch between "run" and "start" (good thing as then your starter would always be on when the engine is running). Anyways, pull fuse 17 (start fuse) and turn the key to "run"... what happens.... there should be no starter action. IF this is true, your problem is back from the fuse block towards the key. IF it is not true, you likely have significant issues in and around the fuse block. Again, do not worry about going any further than fixing the cranking / key issue.
Having said all this, check the starter relay as its contacts could be welded. Still further, from my limited experience in playing with "recent" GM stuff, I have seen occasions whereby a relay can be put in "backwards" as the pin orientation does not prevent this (my limited experience.... dumb design)... but if this is possible here then the operating windings would now be completing the "start circuit" and result in starting attempt whenever the key is put to on. Hence check the start relay and confirm its orientation AND integrity.