If a leech character is standing in (or walks through) blood, they should heal, if not already at max health.
If you are not at max health when it doesn't work, are you sure you are on the blood? Is there an oil surface, or something, that may be overlapping?