I think that's a fair point that has been echoes by others. There's no "need" to name a captain when there isn't a clearcut leader to wear the C. At the same time, the players also know who the leaders are in the room. Take your Blake Wheeler example. He was stripped of his captaincy but the players still considered him captain. With that said, Darryl Sutter also called Kopitar the team's captain when Brown still had the C so take his comments with a grain of salt.
I think for the Canucks, one aspect is that at the time Horvat was named captain, he was clearly not going to be the team's best player or even the team's second best player real soon. But now it's kind of different. It's easy to see that Petey, Hughes, and Miller are the leaders on the team. If you aren't naming the veteran Miller it comes down to Petey and Hughes which is what most of us expect.
I don't think this is a situation where the Canucks need to wait for a leader to emerge. It's Petey or Hughes. It could be a situation where Petey isn't signed long-term. Management seems keen on having this fresh start under Tocchet and naming a captain now helps with the messaging.