If all units in a column are the same, mention that unit in the column header. Otherwise, you need to mention it everywhere. Only putting units in the first row suggests that the first row is different. It is basically lying in all the other rows, presuming the reader catches the error and understands what is meant.
I also think disagree slightly on color. Restricted use of color makes sense For example red for negative values, or green for highlighted values that you want to stand out.
Heck, if you have very geometric 2-D data, perhaps there is even a point to be made to color the background according to the value so you can 'see' the structure. This is pretty niche though.