It is a great script and I modified your script below.
Select
volume_mount_point,
CAST(ROUND(max(vs.total_bytes)/1024.0/1024/1024, 2) as numeric(16,2)) TotalSpaceGB ,
CAST(ROUND(min(available_bytes)/1024.0/1024/1024, 2) as numeric(16,2)) FreespaceGB ,
Count(*) as DBFileCount
from sys.master_files S cross apply Sys.dm_os_volume_stats(s.database_id,s.file_id) vs Group by volume_mount_point
Go
Select
db_name(database_id) DBName,
CAST(ROUND(size*8.0/1024, 2) as numeric(16,2)) as SizeMB,
Physical_Name,
Name as Logical_Name
from sys.master_files order by size Desc
Go
Thank you for your sharing!