HI,
So a few things
1. It's not simple because you are looking at single "string" names and saying the UI says this but the back end says that. I agree to a point.
Back-end Schema names are URL compatible, so they have to encode the spaces in the Label (aka name) that is typed the first time the list is created.
But the schema end in the back is intentionally static, regardless of whether you change the "Label" in the UI. So no you should never assume that string means anything more, than someone's fancy at the time they created it, or renamed it.
2. Choices are a pain period, since (and I dont know your situation) but Single versus Multi-choice have to follow the format structure defined for those objects, so passing over (primarily multi-select) can be a bother, but its up to the person to create the JSON necessary in the request
3. Create a singular tool in Power Automate, is technically possible, just more.... dutiful needs have to happen. Use the HTTP requests to SharePoint to get column schema names, and data type etc so you can do whatever it is you want. By looping through them, grabbing the values, putting them in an Array, then use the array to dynamically assign to the target.
But of course its near impossible to do this anyway without having a configuration setup that will populate what dynamic Target is being used, same with the source.
All possible, but ETL itself isn't "simple", unfortunately neither is this.
NOTE: the same exact thing has been around 30 years with Dynamics and Power Platform. Once you Name them the logical and schema names (in the back end) do not change, only the String up front can be changed.
I will say this, you were absolutely doing the right thing by using Create from Existing List.
Importing from Excel just names everything Field1/2/3/4 bleh and not all important templates you create will do it correctly either.