How does a node decide what to accept?
Bitcoin Core is open-source Bitcoin software and the reference implementation. Its full-node software validates transactions and blocks; it also includes wallet functionality. Bitcoin Core is not a separate coin.
The node applies its rules to a proposed block. If the block fails those checks, the node rejects it. The amount of mining work does not excuse a rule violation.
Source: About Bitcoin Core
Who chooses the software and rules?
Developers can propose changes and publish code. Participants choose the software they run. A software release is not the same thing as every participant accepting new rules.
When reading a change proposal, separate the code from its adoption: what changes, who enforces it, and whether older software remains compatible.
Source: Bitcoin Core source repository
Does copying Bitcoin Core create another Bitcoin?
A code fork copies or modifies a software repository. It can be used for a separate network. A shared code base alone does not establish shared transaction history, supply rules, mining security or endorsement.
The forks guide explains code forks, soft forks and hard forks. The family diagram shows the BTC, BCH and BSV chain splits.