The OnFetch() is called in the Fetch routines generated into the code, and is for single-entity fetches.
For multi-entity fetches, it doesn't make sense, as there just 1 fetch: the collection fetch which is equal for every entity (which are only known AFTER the data is fetched) in the fetched set. For every entity the OnFetchComplete is called as that's a situation which is different for every entity fetched.
As there's no entity specific fetch logic defined, calling it would make no sense. Calling OnFetchComplete does, as the entity itself is then fully fetched and post-fetch logic can be ran.
Though calling OnFetch() right before the entity data is placed inside the entity object is not really possible as it would not be a call before the actual fetch, as with Fetch in the generated code to fetch data into the object the method is defined in, as the fetch already took place (with 1 query for all the entities).
I'm not sure what you want to accomplish in the OnFetch override, if you can explain that abit, perhaps there's a different method to override instead.