Volume Absorption is only applied to the "top" of a mesh
I am new to Blender, so I can't say I solve this problem (I am quite sure if the coffee cup is animated, the coffee liquid won't looks right)
, but I do discover what causes this problem.

When the scene setting is like the follow (the camera looking at the perpendicular to the light source), the side of the coffee mesh looks transparents.


I changed the scene setting like the below (the camera facing the light source)


Now the volume absorption works! the side of the coffee is now brown instead of transparent.

I am guessing this is due to how volume absorption works. If there is no light passing through the mesh to your camera (i.e. camera perpendicular to the light source), the volume absorption calculate that there is no light absorbed at all, meaning transparent. (but in real world, it should appeared darker, or something else, but not transparent).

Hope this makes sense, if you guys happens to know how to make it more realistic, please tell me. thanks!