Database Unallocated Space – Correct way to measure

I am confused over the web regrading few scripts on calculating the database size and free space within same.

Most of the scripts over the web uses sys.databases_files dmv to calculate free space like here and here

However if we see one from sp_spaceused or database properties via GUI amount of free space is different. I get the reason that it is diff as it has filter on type in (0,2,4) which excludes Log file.

But i am not able to understand which one is correct and why Log file is excluded from sp_spaceused or is it that scripts over web are not correct and showing something else?