These are genes on the patches and haplotypes. Patches are repairs in the genome, where they have discovered the sequence or assembly is incorrect, so there is an alternative sequence that is created on top of the reference assembly (the reason they don't change the reference is that then there's a new reference and this causes a massive headache for everyone). Haplotypes are alternative versions of genomic loci that exist in some individuals, such as the MHC locus, which are different and common enough to require a proper assembly change, more than just genetic variants.
The genes that are found on the alt sequences are listed as Human Alternative sequence Gene. They are both real genes and correct for the gene name.
If the gene is on a patch (the location will include the word PATCH in its name) you should probably use the patch gene because the primary assembly gene may be dodgy.
It gets more complicated if you're working with haplotypes, as all the versions are correct. Most people take the easy option of using just the primary assembly, but if you're variant calling, it may be worth trying to determine which haplotype the individual has and calling against that. This is particularly true for highly variable regions like MHC, where there are genes only found on the alternative haplotypes and not found on the primary assembly.
There's more information about alternative sequences from Ensembl here. And here from the GRC.