It's been under 20 mil for most of the 2000s, except for spiking in 2016 because people wanted to see the Cubs make history. I can't say for sure, but factors probably include the games starting at 8.30 or so on the east coast, the length of the games, dislike of Fox's coverage, and perhaps people are tiring of baseball in general. Also, there's been a lot of talk of MLB failing to properly market its big stars like Trout. IIRC, in a recent survey naming the 100 top sports stars, only two or three were baseball players and none was an active player.
Attendance has plateaued in the low 70 millions, but dropped to 69 million this season. MLB might have a problem on its hands.