First, many optimization problems have multiple solutions. Nonlinear problems often do.
Second, there is no assurance that any optimizer, including ga or tools like it, will generate the globally optimal solution. Those tools try to increase the probability that an optimal solution is found.
Third, since those tools use random searches, they will often find different solutions. Call it twice, and since the random seed will be different, you can get a different result. Again the goal is you get a globally optimal solution, but that cannot be gauranteed.
Finally, even if two methods find the same "solution" they may find slightly different solutions, to within any tolerances.
You probably need to spend some time in learning about optimization, and the optimizers you are using.
How can you "fix" it? Again, learn about optimization. You may be able to better constrain the problem, since if you know something about the process, then providing intelligently chosen constraints can hugely improve the result.
Next, since the optimizers use randomness to try to improve things, then running the tools for a longer time can help. And using multi-start methods can help.