If you're drafting 3rd overall and your most pressing need is a center but the best center in the draft is ranked no better than 7th you do not draft the center. Either you draft the BPA at 3rd or you trade down.
Since very few drafted players are ready to contribute immediately there's little point in drafting for immediate need. By the time the guy you draft today is ready to take his place on the everyday roster, the need you had when you took him could be already filled.
You address short-term needs in later rounds or deeper in the first round. But if you're picking 3rd you take the best player regardless of position every single time. Good players are good players. They have value, whether on your team or someone else's via trade. You don't waste a 3rd overall pick on a lesser player simply because he plays a certain position.
You realize that this does not always make sense?
First, in the Habs' particular case, between now and the day Kotkaniemi is NHL-ready, there is no way that MB will have found 2 young and promising top-6 centers: He has not been able to find ONE in 6 years. The only way to get a potential 1C is to draft one, and Kotkaniemi is possibly ranked as a potential 1C in many teams' mind.
Second, how could you fill immediate needs in the later rounds? These players are even further away from playing in the NHL. It is not a bad idea but I don't think it's essential to draft for need after the first round.
This draft is particular. Anyone could make a case for at least 6 players that could possibly be picked 3rd overall. If Timmins believes that Kotkaniemi can be that number one center, then by all means he should run to the stage and pick him.
How many young bonafide centers are available on the trade market?