When a PHP file is included, the code within is run immediately "inline" where it is included.
The main reason you don't always use "once" is because you might be including a partial. I had a site once where they had a PHP file that controlled an SVG master symbol library. So they would include() the PHP file and it would run logic to determine which SVG symbol is output. So this PHP file could be included multiple times in a page.
PHP can be included for any kind of output needed, not just function/class definition files.
Only if your PHP file contains ONLY functions and classes and such, should it be using "once". And it should be included at the global scope, not from within a function or class.
In other words, this person using procedural style programming. Stuff should be included as needed within flow of how the code is processed. But if their includes are just function definitions, they should be included early in the app session. There should be no reason to need "once" if it's programmed in the correct procedural way.
In any event, so you have page1.php, page2.php and page3.php. Are these loaded inline in the code or are they each independent endpoints? Like example.com/page1.php and example.com/page2.php?
If they are unique endpoints, then just put all your functions in some include file like helper-functions.php and include it from each file.
If they are not independent, a user only goes to example.com/page1.php and then this loads the other pages as needed, this is where you may get in trouble. But it can still be fixed by simply putting all your functions in a functions file and load it early so that the functions are all available to whatever file needs them.