There are a lot of possible explanations for what you're seeing. LD's, low processing speed, low working memory, vision issues, fine motor issues,... and many fun combinations.

In addition to a psych assessment which should catch the LD/processing speed/working memory type things you might want to see if vision testing rings any bells. There are lots of stories here where it came down to a vision issue. It is possible to have 20/20 vision but if your eyes don't work well together it can cause all sorts of fun with reading and writing. I'm not an expert but there are others that can chime in on that one.

I would also say that it might be a good idea to have a chat with him about it being ok that he is struggling with x/y/z and that it doesn't mean he is "stupid". Half of the fun with our DS was that the fact that all of his classmates were writing up a storm and he wasn't and it really challenged his idea that he was "the smart one". After we tested and talked a lot and it really helped him to relax which alone made a big difference even before we did anything else. Even without his results we could have had the chat that let him know that it is totally ok to be strong in somethings and struggle with others and I think it would have helped ease the stress.

Good luck and you're definitely not alone!