The reason it is not implicit is that there is no hard rule saying the default instance must run on port 1433, and most people change it off of the default when they get SQL set up.
As a guess as to why it is happening for you - do you have the SQL Browser service running on both?
I expect it is not running on Server01. My understanding of how that works is that the SQL Browser service is what you connect to when you don't include the port. Then the SQL Browser service looks at the instance you requested and passes you over to the appropriate port. If no instance is specified, then it is the default instance. If one is specified, then it is a named instance. This also assumes that the firewall is open on the ports required for the SQL Browser service.
But without the browser service, it has no way to know what port SQL is listening on.
ALTERNATELY, you could have a SQL Alias set up on your computer for server02 so that server02 is automagically getting replaced by server02, 1433. I have a lot of SQL aliases set up so I don't need to remember the server it is hosted on and the port. For example, if I connect to "SSRS", it uses the SQL alias to connect to serverA/SSRS_Instance, 1234. Note those are not REAL names and numbers, just giving examples.
The above is all just my opinion on what you should do.
As with all advice you find on a random internet forum - you shouldn't blindly follow it. Always test on a test server to see if there is negative side effects before making changes to live!