It's not selecting ERRPF again, it's reselecting the original filehandle... whatever was current before the first select (before ERRPF). select returns the filehandle that was current before the call.
Read it from the inside out:
select ERRPF and remember whatever was selected beforehand.
Set autoflush on ERRPF
Return to the outer select the first element in the list, which is the filehandle that we remembered in step one