It will have to do with data.
Machine Algorithms are like bodies, they become what you feed them with.
So if your data is poor your results will be poor.
If the accuracy is low it means that your model doesn't find enough relevant information to detect patterns.
What you can do are the following.
- Check that your features are scaled.
- You can add multiple transformation of a single feature
- Churn the ones that don't work well
- Try other Machine Learning Algorithm
- Check the importance of each feature (Using ranker i.e. SHAP)
- Try to add exogenous data.