Yep, and they could be in any insert on any track, so you have to replicate those exponentially for all possibilities - this is *stonkingly* bad UX. 🙂
Often, a convention in software is to target ("select") an object first, and then apply a command to that object - ie, we don'e have to have 1000 individual mute key commands for each track, we have one track mute command, and apply it to a track selection. But this use case is limited too - so we have buttons on the actual track which have an implicit "this mute button is for this track", and this is something that can't practically be done by key commands, due to the variable nature of them.
It makes no sense to implement key commands for "Bounce from Output 1&2", "Bounce from Output 3&4" etc, especially as the developers have no idea of how many outputs you will have on your system to create key commands for. Maybe you've just got two outputs, maybe you've got 128...
These kinds of key commands work fine with static, constrained items, like menu entries, but they don't work for dynamic/variable items. There is no direct independent key command for "Run MIDI transform on the 69th MIDI region on track 84" - instead, we select the item, and trigger the generilsed key command for "Run MIDI transform on this", and that's exactly the same concept for the mute/solo/bounce buttons on tracks, and many other concepts in Logic (and software in general).
Anyway, somewhat of a digression... 😉