MySQL Computed Column counting other rows with attributes relative to this one
The problem
https://dev.mysql.com/doc/refman/5.7/en/create-table-generated-columns.html says:

Generated column expressions must adhere to the following rules. An error occurs if an expression contains disallowed constructs.
...
Subqueries, parameters, variables, stored functions, and user-defined functions are not permitted.
...

Your expression includes a subquery.  Note that the error message pointed directly to the subquery:  &quot;... near 'select ...&quot;
Generated columns are rather limited (for good reasons).
Suggestion 1
May I suggest that you do the computation when you are fetching data from the table.  Consider writing a VIEW or Stored routine to hide it from the caller.
Suggestion 2
Perhaps this comes closer to what you are looking for?
SELECT  b.*, 
    (
        SELECT  count(*)
            from  flight a
            where  a.FlightCarrier = b.FlightCarrier
              and  a.DestinationAirport = b.OriginAirport
              and  a.ScheduledArrivalTimeUTC &lt; b.ScheduledDepartureTimeUTC
              and  a.ScheduledArrivalTimeUTC &gt;= (b.ScheduledDepartureTimeUTC - (60 * 60 * 24))
              and  a.DelayedArrival = 1 
    )
    FROM  flight AS b;

It won't be efficient due to the correlated subquery, but we can work on that.  First, verify that it does what you need.
Suggestion 3
Better would be to have a column for that info, then do the computation separately as you are storing the b information.
INSERT INTO flight ( ..., DelayedCarrierArrivals24H)
    SELECT ...,    -- the values from your source
        ( SELECT ... ) AS DelayedCarrierArrivals24H;