Dave is correct and I should have asked about that...
You cannot have two entry points with the same exact name in the same module unless you are doing something like overloading the entry point for different inputs. That is something you CAN do in some languages with very strong type-control. However, in VBA you can't do that. You manage the "overload" case by just declaring the input as a Variant and then test what you got inside the routine.
Now it IS true that a function can be called as though it is a subroutine and in that case, Access WILL discard the return value. But I've not tried to call a sub as though it were a function. I'm not sure what it would return, either, because the return mechanism is rather specific. I would expect a null value returned as a Variant in that case but could be wrong. The thing is, it shouldn't even compile correctly since the data type of the return isn't declared. I.e. the call "template" is incomplete.
In the case currently at hand, if both the sub and function entry points are in the same module, THAT shouldn't compile either. I have accidentally created a duplicate routine name (fat-fingered the name so that it matched another name) and then tried to compile the module. Got a "Duplicate name" error during compilation.
Note that if they are in different modules, that CAN happen. In which case, unless you qualify the call to show which module's entry you wanted, the one that appears first in the module is the one that will be called.