You have kind of answered your own question. You don't have monitors.
The difference between monitors and home (Hi-Fi) speakers is that the first are designed to be as flat as possible. By flat we mean that they don't attenuate or amplify certain frequencies. 'Flat' refers to the frequency response.
The reason we use them to mix is to get as 'honest' a representation of the sound played as possible. Hi-Fi speakers on the other hand are designed to be 'pleasant' - to sound nice.
Some monitor speakers like the infamous Yamaha NS10 are said to be almost too honest to the point they cause fatigue to the ears after a while but they are incredibly useful because they will reveal everything that's wrong in a mix. Monitors like this are called reference speakers and are used to 'reference' mixes - to give you an idea of how your mix will sound in the average sound system.
But besides all this, I've seen people make really good mixes on terrible speakers. After failing for a while, you start to understand which frequencies are amplified or attenuated by your speakers and you make up for this. But something like this will take a lot of experience to build up this level of intuition. Don't give up. Just experiment and listen to your mixes on as many different sound systems as you can. Sooner or later you will narrow down what it is that messes up your mixes.
But if you're planning to mix more professionally, a good set of monitors is the next most important thing to a good set of ears.