He has two main options for the next Captain America: a semi-stable hundred year old man with lots of brain washing involved or a top of the line secret agent soldier who has proven to be reliable. Sam also shares very similar morals to Steve: they both stand up for what is right no matter the cost. Steve even hints at this before leaving.
Sam Wilson: You know, if you want, I can come with you.
Steve Rogers: You're a good man, Sam. This one's on me, though.
Avengers: Endgame
And sure Bucky is strong physically but Sam is stronger mentally and even physically Falcon is strong. I argued that point in this very related answer. Sam can hold his own with the rest of the Avengers very well, give him the shield on top of that and he’s going to kick even more ass.
The Russo brothers also talk about the mental aspect mentioned above agreeing with my point.
Cap and Bucky are brothers but you know what's interesting about them is they're very different people and I think that Bucky always has the ability to have his mind corrupted, it can always be taken over by someone else. That hasn't been resolved for him and Sam has his free will and I think that Sam also had a similar ethic as Cap as far as service goes in the military.
We also know that Bucky knew what Steve was doing, it’s entirely possible Steve offered Bucky the chance and he turned him down. I highly doubt it though.
Sam Wilson has been Captain America in the comics as well.