Coś pomieszałeś, taka składnia nie ma jak zadziałać, bo w $zm jest tylko string.
Spróbuj zapisu z klamrami:
$request->{'customCheck' . $i};
Ewentualnie możesz też przygotować to wcześniej w zmiennej:
$name = 'customCheck' . $i;
$request->$name;
Możesz też użyć metody np. input() lub get(), bo zakładam, że $request to Laravelowy obiekt, i tu już się da normalnie połączyć stringi w argumencie np.:
$request->input('customCheck' . $i);
Albo jeśli i tak finalnie chcesz z tego zrobić tablicę opcji (tak wnioskuję po array_push()) to możesz od razu odczytać wszystkie elementy z requesta jako tablicę np. poprzez $request->all() - tylko uwaga, bo to bierze wszystko co zostanie przesłane, więc mogą tam być też niechciane rzeczy jeśli ktoś coś dołoży. Alternatywnie można użyć np. $request->validated(), aby dostać tylko tablicę elementów, które były sprawdzane przez walidator (aby uniemożliwić wrzucenie tam czegoś, czego nie powinno być), o ile takowy tam masz.