A witness isn't a person, it is a machine (run by a person). This machine processes the blockchain and without them, nothing moves. They take a percentage of the reward pool as payment for this service and this is why the transactions on Steem are free, unlike most other blockchains.
A witness is part of a network of machines that cross-reference and verify each block to check it for consistency, to make sure that it is valid. They are spread all over the world and give what used to be, a decentralized structure.
Witnesses are (were) voted in by the community based on the stake of users and this creates the "top 20" who are considered "consensus" witnesses. It is these 20 who agree on the changes to the code, with 17/20 needing to upgrade their machines (agree) to the new version to create the change. They are also responsible for submitting (sometimes) and testing the new code that will be deployed.
The decentralized nature of this setup is that quite a few people need to agree in order to make any code change on the blockchain. Now that all witnesses are controlled by a single entity, it means the chain is centralized. This puts everyone at far greater risk as one "person" makes the decision on what is okay to implement or ban - without even a discussion.