GitHub's built-in branch protection rules do not allow for per-branch configuration of merge strategies.
But, you can enforce a "linear history" for specific branches. This has the effect of requiring either squash and merge or rebase and merge, disallowing traditional merge commits.
For master:
For develop:
This only disallows traditional merge commits. You'd still need to trust your team to select the correct option when merging into master.