You need to use a merge queue (aka merge train). It should be completely standard at this point (though it unfortunately isn't). Doesn't help that it's a Gitlab Premium feature.
1. Author 0 makes branch_0 and tests it in CI. It passes.
2. Author 1 makes branch_1 and tests it in CI. It passes.
3. They both merge their branches.
This can break `master`, irrespective of the kind of merging you use. Fundamentally two people can make changes that are valid (pass CI) independently but not when combined.
That kind of breakage gets more common the more different people you have working on a project. If you just have a handful of people it's relatively rare so you can just accept `master` breaking occasionally. If you have a few dozen people or more then it's pretty much a requirement.
I don't think there are any serious downsides to enabling it.