middleware('auth') means that the user must be logged in to access the route. Note that this says nothing about who they are, only that they must be known and be logged in.
name('foo') just means that the route has an internal name, simplifying references to the route in your own code and making it possible to change external URLs without changing references to the route in your code.
Named routes have NO effect on the security of your application.
You can remove the registration route. You just need some basic training.