I prefer
Leon or a form of it to Lion. I dont think animals should be used as names. You can still have the meaning 'lion' from all sorts of names (
Leon,
Ruslan,
Areli, etc).
Same thing with Bear. I would use it as a nn, if at all. I knew a little boy whos nn was Bear (because he would growl sometimes and sound like a bear...it was cute, though). You could use it as a nn for a name that means 'bear' maybe (
Bernard,
Bjorn,
Arthur, etc).