When Excel has merged header cells, pandas only keeps the top-left value of wach merged block, leaving the rest as NaN. You can fix this by forward-filling and reconstructing the header.
Example: If the file structure is not consistent, if only one row is merged, read without the headers and clean manually.