Because trailing double zero bytes are considered bytes, the length of the value in a fixed length column is always equal to the length defined for the column.
The length of the value in a variable length column is always equal to the number of bytes, including any trailing double zero bytes, contained in that value.
If you do not want trailing blanks included in the byte count for a data value, use the TRIM function on the argument to BYTES. For example:
SELECT BYTES( TRIM( TRAILING FROM byte_col ) ) FROM table1;