They do not have to. But then it wouldn't be C, which by design has a straight forward and obvious mapping to the underlying machine.
For example, there are machines (some DSPs) that individual octects are not efficiently addressable and usually a C byte in these machines is 16 or 32 bita.