Why master page doesn't have PreInit event in ASP.NET?

Master pages inherits:System.Web.UI.MasterPage and as per the design of this MasterPage class no such PreInit event is defined for this class.

Master pages are derived from Control class as seen in below hierarchy:

System.Object
  System.Web.UI.Control
    System.Web.UI.TemplateControl
      System.Web.UI.UserControl
        System.Web.UI.MasterPage

Therefore as can be guessed now, Master pages behave and in essence are treated like a control and have events similar to other asp.net server controls.

One suggested reading is this.