The problem is you have to use a WQL query to get at the object and that's what I used in my tests.
The first example you provided works because, on the Win32_LogicalDisk class, the DeviceID property is a Key. See the documentation
here[
^].
On the Win32_Volume class, DriveLetter is not a Key field so you cannot use the path syntax that you're using to create the ManagementObject to get at it. You must use a WQL query instead with the ManagementObjectSearcher.