To achieve this, one way is to add an event on change on the boolean field to call a microflow. This microflow should retrieve every member and using a list activity check if there is a player with that attribute as true then you can confirm the new captain or revert the change and show the error message.
If you have any further questions, please let me know!
Emilios answer works fine, but please be aware that you will also need to validate behind the save-button if you need a secure system.
If you don't validate here at the moment you save, it is still technically possible to create two captains in a team.