The rules of Bitcoin (the protocol) determine bitcoin’s (the asset) monetary properties. The rules are enforced by the network of users (i.e., full nodes) running the Bitcoin software. Enforcement takes place via full nodes refusing to accept and relay transactions or blocks conflicting with the protocol, meaning that any users running software with incompatible rules will find themselves isolated from the Bitcoin network.
Anyone can propose changes to the Bitcoin software. However, other users do not have to accept these changes and may keep running the rules they originally accepted for as long as they wish. This ensures any rule changes must either not conflict with the previous rules or otherwise be acceptable to the vast majority of users. The Bitcoin protocol and network therefore work together to provide the characteristics of bitcoin, the asset.