They are not using the entire 32KB for program. It's just the size of the HEX file.
For example, a file with 100 line useful codes and other 500 line "0". Then the size of this file will be 32KB with 600 line of codes, but only the first 100 line will be used when you flash it into your board.
[s:244] [s:244] [s:244]