Frontend file upload works, but I get error “Constant ABSPATH already defined”

The code requiring wp-load is within a theme template (not a plugin).
Specifically, within a page-template that allows a custom post to be
added/edited from the frontend.

A page template should not require any explicit loading of the WordPress Core. The template itself wouldn’t load if WordPress were not already loaded.

Your other errors are because there are apparently no $_FILES['logo']['type'][1], $_FILES['logo']['type'][2], $_FILES['logo']['type'][3], or $_FILES['logo']['type'][4]. You need to var_dump($_FILES); and see exactly what you are dealing with, but that is a pure PHP problem and would off-topic here.