Please see: https://devcenter.bitrise.io/webhooks/trigger-map/#dont-start-two-builds-for-pull-requests-from-the-same-repository
It explains how you can configure the Triggers to only build one of those.
Also explains that the two builds are not 100% the same:
An important note: although it might seem like both builds are the same, it most likely isn’t! The code push event/build builds the code of the branch, without any merging, etc. It builds the exact same state of the code what you have when you checkout that branch. The Pull Request build on the other hand builds a “pre-merged” state of the code, which is expected to be the state of the code after you merged the pull request.
Whether you want to build both or just one of these in case of a pull request is up to you and depends on your project’s requirements, but with bitrise you can decide whether you want it or not.
Let us know if you’d have any questions!