Speculating... Could the reason be to conserve memory? Is there room in memory for your entire audio tracks? Is there room for a list of 31 or more items?
Do your audio files reside in the STM player, or does it read from peripheral devices?
Notice 30 is almost 32 the highest number you can have with 5 bits binary. So 5 bits can accommodate numbers 1 to 30. And you have 3 bits left over... and possibly to conserve memory it might utilize the remaining 3 bits for housekeeping data (such as time durations).