That checkmultisig reads an extra element could be used in the future to make batch validation faster (as it needs some additional side information), or for other extensions. It's commonly assumed to be a bug that it reads an extra item but might have just as well been another forward compatibility mechanism, or a left over behavior from an earlier approach.