He is crawling most of the time 'in the right direction', but sometimes he crawls backwards. Otherwise, his movement development seems to be fine; he is almost able to walk. Could it mean that there are some mental issues?
This is super common. It’s actually easier to go backwards than forwards for some kids, if they're using their arms primarily instead of their legs - pushing is easier than pulling, right? It’s very common for kids to go through a phase of crawling where they go backwards. One of my kids did, one didn’t - that one didn’t really crawl at all though.
For example, this article supports that for some babies, crawling backwards is easier because they push with their arms:
As your baby grows, you might have observed her using her arms a lot more as she learnt to support herself. This dependency on the arms tends to result in a crawling style that makes use of the arms the most. This strength of the arms manifests in the form of pushing instead of pulling ahead, which results in a backward movement.
Of course, as they work out the mechanics of using their legs, those will become the stronger muscles - but it's hard to coordinate those actions, and they have to learn to do so.
This article gives some suggestions for how to work with the baby:
As they get stronger they usually learn how to coordinate moving forwards. If your baby doesn’t learn to crawl forwards you can try blocking their feet with your hands so that they have something to push off and propel themselves forwards. You can also place large cushions on the floor and toys on top, as this will encourage them to crawl up onto it. It is also easier to go forwards once they get on their knees up onto the cushion.