The object filter in the blueprint debugger can be used to filter breakpoints to a specific instance of an object. This is important for multiplayer because there will be multiple versions of the same blueprint and the user may want to step through a specific one. By default the object filter is set to none so the breakpoints happen for every copy of the blueprint.
The UGameplayAbility::UGameplayAbility constructor has special code (starting from "Autoregister abilities with the blueprint debugger in the editor") that calls SetObjectBeingDebugged in the editor, which means that whatever ability instance was last created overrides the object filter. This is confusing behavior because it means that only one random copy of the ability will be debugged. This code was intentionally added but does not work well in multiplayer or other advanced setups and is unnecessary in simple setups
There's no existing public thread on this issue, so head over to Questions & Answers just mention UE-161493 in the post.