If I understand it correctly, BOOLEAN always uses 1 byte per column but BIT(n) will use as few bytes that are needed to hold the given number of bits.
So BIT may save some space, but BOOLEAN is easier to work with if you need to query them with SQL.
If I had a set of flags that were understood by an application, and stored in a single field in the application, then I would be looking to use BIT(n). However if I had columns that needed to be queried from SQL, I would be using BOOLEAN.
An example would be an application that used flags to record what weeks an event should run on, with a bit per week, being 1 if the event runs on the given week. If the data was going to be made easy to query in a database, it would be “normalized” across two tables, but if the data only needed to be stored in the database, then it is best kept in the form the application uses it in.