Why do we use one hot coding for the FSM Machine? why not binary coding to be used?
Briefly, although one-hot encoding uses more FFs than binary encoding, it is much simpler to decode the states, and this often allows significantly higher performance (clock rate). It also maps particularly well onto most FPGA architectures, which usually have a 4 to 6-input LUT followed by a FF.

On the other hand, FPGAs also often have dedicated structures that make implementing binary counters efficient, too. So it really boils down to the nature of the specific FSM you want to implement. If it has a lot of "random" transitions among all the different states, one-hot will probably be preferred. If it is mostly long sequences of steps with little branching, then binary will be preferred.