There likely is overhead in the DSL transmission protocols. ADSL uses something called ATM to send the data and this must be converted to ethernet frames. Been a long time since I looked at the details but there is overhead. It is similar to if you compare a file download to speedtest numbers. In addition to one being in bytes/sec and the other in bits/sec file downloads only consider the actual data file itself they do not include any of the overhead for all the things like the space IP addresses and other stuff take up in every data packet being sent.
I used to know this stuff but then VDSL came out which works differently but I still suspect it is purely related to overhead in the data transmission.