When creating a release from a local machine the version is calculated from the local commits, however if the local repository has not fetched the tags from remote it would calculate a version that is the same or smaller than the actual/remote version.
A validation step would help ensure that the wrong release is not pushed out due to a user error (of not pulling the changes and tags from remote).
This can also be an issue in the CI environment, if an old job is rerun that creates a release.