I've done some experimenting and examined the source code. There is a problem somewhere, but I'm not 100% certain what it is.
If I add a new page to my site, and go to the Localization tab when doing this, and choose "Create Localized Versions of Page" then the new tab is created with a CultureCode set to "en-US" and an additional tab with culture code "fr-FR" is created. This is as expected.
If I add a new page to my site, and go to the Localization tab when doing this, and choose "Create Single Neutral Culture Page" then the new tab is created with a CultureCode set to NULL. If I then localise this page, two new tabs are created, one called "Page Name (en-US)" with a CultureCode of "en-US" and one called "Page Name (en-US) (fr-FR)" with a CultureCode of "fr-FR".
It seems as though localizing an existing neutral culture page causes the problem.
To test this, I created a neutral culture page, then went to the Tabs table and set its CultureCode to "en-US" manually. Then I did an iisreset and went into the page localization for that page. At this point it looked like a Current Culture Only page (with the fields for en-US processing) and I was able to "Add Missing Languages" successfully without creating the additional problem Tabs records.
The problem seems to be related to DotNetNuke.Entities.Tabs.TabController.AddMissingLanguages
When this is called from MakeTranslatable_Click, it's supposed to run TabController.Instance.LocalizeTab first of all (to localize the current tab), but for some reason this doesn't seem to be happening. So then AddMissingLanguages creates a localized copy of the current tab (the extra (en-US) copy) and then proceeds to create localized copies of THAT tab.
I can't step through the DNN source to verify this.