Why do low wing aircraft have higher dihedral than high wing aircraft?
There are several sources for a sideslip-induced rolling moment:


The dihedral angle $\nu$ of the wing, which will increase the local angle of attack $\alpha$ on the windward wing according to $\Delta\alpha = \beta\cdot sin\nu$; $\beta$ being the angle of sideslip,
The sweep angle $\varphi$ of the wing, which in a sideslip causes a de-sweeping of the airflow over the windward wing (and an increased sweep effect on the leeward wing). The local change in angle of attack is $\Delta\alpha = (cos(\varphi±\beta)-cos\varphi)\cdot(\alpha-\alpha_0)$ and is proportional to the angle of attack,
The crossflow around the fuselage (see sketch below for illustration, sorry, no simple formula here), and
The location of the vertical tail, or more precisely, the side force created on it by a sideslip angle in relation to the location of the center of gravity. This effect dictated the anhedral of aircraft like the F-104 Starfighter.


Please see this answer for a more complete explanation of effect 3. The sketch below is taken from the linked answer and shows a high and a low wing configuration in sideslip. The thin blue arrows indicate the sideways component of airflow $v_{\infty}\cdot sin\beta$.



In the end, some rolling due to sideslip is good, but too much must be avoided, and dihedral is used to complement the other effects such that the total is just right. A high wing already provides some positive rolling moment due to sideslip (negative $c_{l_{\beta}}$: When you deflect rudder to the left, the resulting sideslip should roll the aircraft to the left, too), so the wing doesn't need to contribute as much (by means of dihedral) as in low wing aircraft.

Dihedral (or for that matter, even a low center of gravity) will not roll the aircraft level: There is no aerodynamic way to achieve that! Dihedral will only give you a rolling moment when the aircraft sideslips.