I created my cv using this cv template: https://www.overleaf.com/latex/templates/material-cv/rnrnhvmfxyrw and here's my edited files: https://www.dropbox.com/sh/ok8ftdktnjep6nh/AABmMCzZ3bjDmskger0Oi-YJa?dl=0
My question is, if I force pagebreak the template looks as it should:

But if I remove the page break as in fig2, latex puts an unneccessary (and unwanted) pagebreak right after contacts section. This forces me to change the \vspace right after begin{document} and sometimes change the pagebreak's position whenever I edit information. What's the cause and how can I solve this? Thanks in advance.

\vspace*{85pt}, use\par\rule{0pt}{85pt}%. Or, you can replace all\vspace*in your code with\vspaceand keep only a select number of\vspace*. What's the difference? See Adding vertical space at the start of a page. – Werner Oct 31 '16 at 01:19