Snap and shrinkwrap won't keep above surface
The Shrinkwrap Modifier can only move vertices to match the target object. If there aren't many vertices in a particular area, that area will not match the target object as well as places where there are more vertices.

A simple surface will require less vertices as there are less details to match, whereas a more detailed surface (or areas of higher detail) will need more vertices.

Patches of the original object showing through are indicative of not having enough geometry, or not having placed geometry where it's needed.

By overlaying your images we can see that the places that are showing through are where some of the larger faces are. You need to either add more geometry into these areas (a guide of where you might add an edge loop is marked in red) or move edge loops that are near those areas, closer together so faces are smaller: