Der END schließt nicht den IF sondern nur den DO.
Bei vielen Sprachen (auch SQL-native) ist nach einem IF nur eine Anweisung erlaubt.
Benötigt man mehrere so ist eben als einzige Anweisung der DO möglich, der eben mit END abgeschlossen ist.
Hast du nach dem IF oder ELSE keinen DO, dann ist nach der einzigen Anweisung der IF/ELSE beendet.
Für COBOL halt einen END-IF nach der Anweisung wenn sie nicht DO ist ansonsten nach dem END.