It seems that you have duplicates in User Information List which is by the way one in each site collection and all user information are stored in this list.
It can happen if you switch from Windows Authentication to Claims Based Authentication on web application sometime later (for example if you migrated from older version of SharePoint).
You can list all users with PowerShell and see the duplicates.
asnp *sharepoint*
$web = Get-SPWeb http://server/sites/site
$web.SiteUsers | ? {$_.IsDomainGroup -eq $false} | Sort-Object ID | select UserLogin, DisplayName, ID
$web.Dispose()
The only solution is to update the items and set fields (Author, Editor...) to correct (higher) User ID with PowerShell.
asnp *sharepoint*
$web = Get-SPWeb http://server/sites/site
$list = $web.Lists["Site Pages"]
$item = $list.GetItemById(1)
$item["Author"] = 20
$item["Editor"] = 20
$item.Update()
$web.Dispose()