Why does postgresql differentiate between named and numeric time zone notations?
Because, as documented, one uses POSIX and other uses ISO-8601.


  Another issue to keep in mind is that in POSIX time zone names,
  positive offsets are used for locations west of Greenwich. Everywhere
  else, PostgreSQL follows the ISO-8601 convention that positive
  timezone offsets are east of Greenwich.