The yellow color should only appear within the area where the water droplets contact the purple wall. Consequently, the wall area outside of the water droplets should be purple; and the wall area inside of the water droplets should be yellow. (Cycles rendering can see inside the water droplets)
After reading the previous post and hours of experimenting by myself, this is too difficult for me, because through the View node or through Spreadsheet, it is still hard to understand what those nodes are actually doing. And it is also harder to debug a node-based program than debugging regular a text-based program.
It seems that using Geometry Proximity is only able to find the intersection between the faces of the droplet and the face of the wall, and can not compute the intersection between the volume of the droplet and the volume of the wall. Can Raycast do that? So far I don't know.