TeX is trying to fill the page to the best of its ability.
The acmart class puts glue (elastic space) before and after the section title to allow a good break in the text when filling the page.
You can reduce the allowed (+)vertical space by redefining the command \section.
Then, in this case, the white space will appear at the bottom of the page because the next page begins with a subsection and obviously does not fit there.
The change will take effect throughout the document.
For consistency, it will be better to do the same, at least, with subsections.
Before

After

Add the code to your preamble:
\makeatletter
\renewcommand\section{\@startsection{section}{1}{\z@}%
{-.75\baselineskip \@plus -.2\p@ \@minus -.2\p@}% before \@plus -2\p@ <<<
{.25\baselineskip}%
{\ACM@NRadjust\@secfont}}
\renewcommand\subsection{@startsection{subsection}{2}{\z@}%
{-.75\baselineskip @plus -.2\p@ @minus -.2\p@}% before @plus -2\p@<<<
{.25\baselineskip}%
{\ACM@NRadjust@subsecfont}}
\makeatother
\inputhere, you can collect everything in one file and post it here. That makes it a lot easier for us to work with – daleif Jul 26 '21 at 11:16.clsfile) or something containing relevant definitions. Without those definitions it is imposible to know what is going on, and that's the meaning of "next time make the snipet into something others can test directly". None of your snipers can be tested by others and we don't know which ACM template are you using, so it is imposible to help – Luis Turcio Jul 26 '21 at 12:59\flushbottombut as you have shown no code that is impossible to determine. Try\raggedbottom. – Peter Wilson Jul 26 '21 at 18:25\vspace{-2em}is your best bet – Neil Oct 13 '22 at 21:28