reduce it to
SchoolNames = Intersect(.Range("A2").CurrentRegion, .Range("A:A"))
(and similar with the following line where also "F"F" should be "F:F").

Also the following needs the red additions:
If SchoolNames(i, 1) = ThisName Then MaxDate = Application.Max(MaxDate, SchoolDays(i, 1))