Table column length is fine in MySQL 5.5 and 5.6, but upgrading to 5.7 results in too many columns
A guess...  See what you get for

SHOW VARIABLES LIKE '%engine%';


This may indicate that you are not really using MyISAM everywhere.

In the future, MyISAM is likely to go away.  So, start thinking about how to deal with InnoDB.

TINYTEXT is perhaps always worse than a suitable VARCHAR.

More than a hundred columns in a single table is usually a bad schema design.  Think about how your table can be logically broken up.

Don't splay an array across columns.