Quoted from bulbapedia, emphasis mine:
A set amount of strolling NPCs, known as the player's fans (Japanese: ファン fan), will arrive at the avenue each day. This amount is determined by the avenue's rank and the player's game progression. After the player has entered the Hall of Fame, Gym Leaders will occasionally arrive among these, as a bonus.
Immediately later in the same paragraph:
The avenue can hold no more than twelve visiting NPC fans at a time. Consequently, no NPC fans will arrive on a day on which this limit has already been reached, even if the player subsequently makes room. This also means that any amount of arriving NPC fans that would have otherwise exceeded the limit will be capped.
The above explains why you have as much as 12 fans.
I don't know the exact formula that determines how the number of fans should be each day, but it seems to be related to your avenue rank, the number of badges you have, and main story checkpoints.
The NPC fans between themselves otherwise seem to be unlocked randomly, meaning that you probably don't need to reach a certain point for unlocking this or that NPC (besides those unlocked by entering the Hall of Fame for the first time).
I also found this on pokemongts:
To get fans to come to Join Avenue, the player needs to become "popular" by the game's standards. This means becoming famous via Pokestar Studios, doing Pokemon Musicals, and doing well in the Pokemon World Tournament and Battle Subway.
Unfortunately, I cannot exactly confirm this, but at least, now you know when you can stop waiting so you don't "sit here waiting" when you've progressed in-game.
If you want to get fans that are not in-game generated, you still have a maximum of 12 fans per day (This also means that you if you have 12 fans who visit due to player interactions, you won't be receiving in-game fans on that day).
For instance, there is this method named Magnemite Coil which was used by players at the time the game was still widely popular so that they could develop their Join Avenue as fast as possible (thus ignoring the game progression part for in-game fans).