The name of the profile is "1.12 - forge", however, that doesn't mean anything. You have a profile running Minecraft 1.6.4 and have it called "1.12".
To change the version, click the "Launch Options" at the top of the launcher. Click the profile you want to change (in your case "1.12 - forge"), and change the version to the Forge version you installed.
Yes, right under the big, green "Play" button, it says which profile you are running. Make sure that profile has selected the Forge version and not vanilla Minecraft.
You shouldn't. If you have a profile in the Curse/Twitch launcher, you can just click run and it opens the Minecraft launcher with the correct information, so you can just run the game.
Do you get any errors about recipes when loading the game? I'm asking because JSONLint gives an error at
"A": [
{
"item": "minecraft:stone",
},
]
as you have a spare comma after the "item" tag. Other than that, I can't see anything wrong.
The Twitch/Curse launcher will notify you if there's a mod update. If you click the button to update, it automatically removes the old version and replaces it with the new version.