The goal of Pre-receive (push) Hook is to validate all incoming commits as they first appear in repository. So, if changes are validated once, they won’t be checked by pre-receive hook again.
Merge Check validates all commits included into Pull Request (YACC does this even if they were checked already), which allows to postpone changes validation till Pull Request creation / approval. If you haven’t enabled push-hook, incoming changes will not be validated during push.
Note, that Pull Request merge may create new commits with new hashes, which haven’t been validated yet, so push-hook should step in here and validate them on merge. This may happen in cases like these:
merge-commit for this pull-request: can be excluded by Exclude Merge Commits option
history-modifying commits, created with fast-forward merge strategies: just don’t use these strategies
commits introduced by fork / sync / resolve-conflicts / upmerge workflows: rather rare case
You can use Pre-receive Hook and Merge Check independently, with a separate sets of settings. Or you may enable them both together, to combine validation of some rules as they are committed and postponing some checks until Pull Request merge.