What am I missing?

I’ve played the piano for 10+ years but only academically and through sheet music, so I can pretty much play any sheet music by only reading it once or twice beforehand.

I have also learned to memorize every single chord progression and scales.

I also have a pretty good singing ear, I pick up songs really easily and I can identify the different harmonies and harmonize with anyone on the spot.

But tell me why if anyone asks me to play a song by ear, I just can’t for the life of me. What am I missing?