I think thats the problem. The DXCC field is the DXCC entity, the DXCC entity Niue has an associated DXCC entity "prefix" of E6 as shown in the Lists of Valid Values for DXCC. The Prefix Table lists for E6 the prefixes ZK2 and E6, so, logging ZK2EB would fill the DXCC field with E6, Niue. If you logged E6FF it would also fill the DXCC field with E6, Niue. Same theory for a US station, working N8GLS would fill the DXCC field with K, likewise working WA8MUE would fill the DXCC field with K, not a W, as K is the DXCC "prefix" associated with DXCC entity USA, the prefix table defines the myriad of possible prefixes for USA, K.
I have E6 and ZK2 in the log as well, all have DXCC field as E6, the DXCC List of Valid Values only has one entry for Niue, E6, there is no ZK2. Likewise the prefix table, as shown in the previous attached pic, only has one entry for E6 but with valid prefixes E6 and ZK2.
If you changed the DXCC field for all the ZK2's to E6 it would all be correct.