A rule change is really safe only if all miners and all clients upgrade to the same version before the change is activated.
bitcoin is not a democracy. ergo, nobody "enforces" anyone.
Self-interest is supposed to convince all clients who care about their coins upgrade -- if the majority of the miners have decided to implement the change in the protocol, if clients are told that there will be a change, and if they are clearly warned that their software will stop working on date X, unless and until they upgrade.
Which makes soft forks inherently safer than hard forks
with respect to immediate forks. In soft forks, non-upgrading is neutral for other miners, loses money to the miner who doesn't upgrade. In hard forks, it depends. A hard fork without sufficient coordination is undistinguishable from a hostile fork, who loses depends on the outcome of the process. In the soft fork, upgrading is completely safe for the individual miner with respect to possible chain forks.