If multiple node/mining types can support Bitcoin how do these same types then also support different currencies, e.g. Bitcoin Cash and Bitcoin Unlimited, along with Bitcoin?
It isn't hard to write software that can support multiple consensus rules, they just need to be separated and know that they are separate coins. However Bitcoin ABC and Bitcoin Unlimited are not clients which support multiple currencies. Rather they are clients which support different consensus rules but, for the time being, are compatible with Bitcoin's consensus rules.
If Bitcoin isn't a democracy then is it exposed if one entity controls >50% of node/mining CPU power + the developers of the leading node/software type e.g. Bitcoin Core. Maybe the entity could implement whatever protocol changes/consensus rules it wants?
Again, Bitcoin isn't a democracy, nor is it any other type of governance system. It is a consensus system. You are either following the consensus rules and are thus using the coin, or you are not following them and are not using the coin. The consensus rules only change if everyone agrees to change them and simultaneously does so. Even if some entity controls the developers of the reference implementation and a majority hashrate, they can't change the consensus rules at will. It requires that the users agree to the change as well. Otherwise there will be a fork and the coin will split in two. There will be some users, miners, and developers on one chain and some users, miners, and developers on the other chain. They become two distinct coins with each one having its own consensus rules.
It seems after all coins are mined then transaction fees will be the only motivational force for mining.
Yes. That is the point. The idea is that there will be enough transactions and fee pressure that transaction fees will be what pays miners, not the block subsidy.