Buck Converter - Output Voltage Ripple
You are mixing two notions: one is the output voltage ripple which, for analysis considerations, is considered zero, due to the assumed perfect filter, and the current ripple, which must be present in the inductor (and capacitor) due to the inherent switching behaviour of the converter.
To exemplify, here is a simple pulsed voltage source with an equivalent filter and load:

The LC filter is ideal, no parasitics, which makes the output (black trace) have a very small ripple compared to the input (blue trace). The current through the inductor (red trace), however, must have a ripple, or it would be impossible to function. The current through the load (green trace) is also shown, for comparison. Since I(R1) is virtually flat, you can assume that I(C1) is just like I(L1), except with zero average. This snapshot in time is in the steady-state.
As Bimpelrekkie mentions in the comments, if the LC elements would have been non-ideal, then the waveforms would be less than ideal, too, but not that much different:

The series resistances are some 25 mΩ, which is a modest value, and there are no series inductances, parallel capacitances, etc. The difference that an idealized filter makes is in the analysis. For comparison, here are the two transfer functions for the 1st picture, and for the 2nd:
$$\begin{align}
H_{\mathrm{ideal}}(s)&amp;=\dfrac{\dfrac{1}{LC}}{s^2+\dfrac{1}{RC}s+\dfrac{1}{LC}} \tag{1} \\
H_{\mathrm{simple-real}}(s)&amp;=\dfrac{\dfrac{1}{L}\dfrac{Rr_C}{R+r_C}s+\dfrac{1}{LC}\dfrac{R}{R+r_C}}{s^2+\dfrac{1}{LC}\dfrac{(R+r_C)r_LC+Rr_CC+L}{R+r_C}s+\dfrac{1}{LC}\dfrac{R+r_L}{R+r_C}} \tag{2}
\end{align}$$
Which one do you think is more favourable for analysis? I'll let you build the transfer function for the rest of the parasitics.

Maybe if you look at it from a different point of view: it's a switching application, therefore V(i) is a pulse. Let's consider the ideal case. The current through L1 is a triangle, and basic analysis says that:
$$i_L(t)=i_C(t)+i(R(t)\; \Rightarrow\; i_C(t)=i_L(t)-i(R(t)\tag{3}$$
If the output voltage is constant (flat), then \$i_R(t)\$ is constant, which leaves \$i_C(t)\$ be the same triangle as \$i_L(t)\$, only without any DC component.
Your confusion is at this point: you think that because the capacitor current has ripple, the voltage has ripple, but you forget that the current through the capacitor generates a voltage across it based on the integral of the current through it (also mentioned by AJN in the comments). And that integral means a pole at DC, thus the DC is infinite compared to the higher frequencies (still ideal case). Here is what the voltage across the capacitor would be if there were no other components:

Look, in particular, at the value on the Y-axis. In the upper plot there's the derivative of the current through L1 (or the voltage across it), compared to the output voltage, showing that in the ON time L1 supplies the power, while on the decreasing slope C1 does, by mainaining the voltage. Again, since this is an ideal case, there is no ripple.

If not, try a reductio ad absurdum: basic analysis tells you that V(o)=V(i)-V(i,o). Since the input is a pulse, the current through the inductor is triangular (see the formulas in the graphs you posted). The voltage across the inductor is the derivative of the current, and the derivative of a triangle is a pulse. The amplitude will be a function of the ratio between the output and the input voltage, or the ON time. This you can already see in the last picture, top plot (where I should have plotted V(i,o), not the other way around). And since V(i) is a pulse, and V(i,o) is a pulse, the difference is the DC, or V(o). And since the difference between the derivative of the voltage across L1 and the amplitude of V(i) is the duty cycle, a, you get that V(o)=a*V(i). No ripple.