The complaint is the END statement does not specify the entry point. The article is correct if it is linked from the Assembler object output, but this is a non-issue if it is linked from a load module in a "distribution" library, which is how the final load module is actually built (assuming it's linked from the "distribution" library, more likely it's simply copied from the "distribution" library to the "target" library). The reason for this is the entry point of a load module is not an attribute that is retained when it is used as input to the Linkage Editor or Binder. In fact, the formal packaging rules for z/OS products, as described in this manual effectively require the use of the ENTRY Linkage Editor control statement. You have to read roughly half way through the very long article to find this statement.
Another complaint is the module does not have identification. This is true, but since IEFBR14 is about as bullet proof as any module in z/OS, it is never seen in a dump, so it's a non-issue. I recall an IEFBR14 APAR from the days of OS/VS2 Release 1 where there was some issue about the identification that was required at the time, but I don't recall any particulars about it. The version in this post is basically what you now get with z/OS.