The difference is you don't register a domain under github.io, you merely loan it. Some countries, like Poland, have a bunch that are real domain suffixes
For instance, https://data.iana.org/TLD/tlds-alpha-by-domain.txt
Where is .co.uk ? That is - for all intents and purposes - considered a TLD.
So PSL is currently doing double-duty and the distinction is very important.