Why is the melting point of lactic acid higher than pyruvic acid
Your analysis is practically correct but not quite — more due to technical reasons. You said:


  Is this because lactic acid has 2 $\ce{OH}$ groups, and pyruvate only has 1 […]?


You probably know the structures of both; they both include a $\ce{COOH}$ group which you apparantly counted as a hydroxy group. You should not do that; the carboxy group ($\ce{COOH}$) has different properties than a lone hydroxy group ($\ce{CR2OH}; \ce{R} \ne \ce{OX}$). The most obvious is the $\mathrm{p}K_\mathrm{a}$ value which differs by about $10$ logarithmic units.

So you should say that lactic acid has higher melting and boiling points becuase it contains a (or: one) hydroxy group while pyruvic acid has a carbonyl group in the same position.