The maths is not correct. Try this in your CTE.
WITH core AS (
SELECT DISTINCT
s.volume_mount_point [Drive],
s.available_bytes / 1024 / 1024 [AvailableMBs],
s.total_bytes / 1024 / 1024 [TotalMBs],
(s.available_bytes / 1024. / 1024) / (s.total_bytes / 1024. / 1024) * 100 AS AvailablePercent
FROM
sys.master_files f
CROSS APPLY
sys.dm_os_volume_stats(f.database_id, f.[file_id]) s
WHERE
(s.available_bytes / 1024. / 1024) / (s.total_bytes / 1024. / 1024) * 100 < 15)
SELECT @list = @list + ' ' + Drive
FROM core;