The problem is not with the soft body simulation but it with the collision between the two - as the collision is only effectively 'one way'.
Consider the following simulation where the Cube is animated and the two spheres are separate soft body simulations (ie, where each object is a separate mesh, each with its own Soft Body modifier).
![bad collision](https://cdn.statically.io/img/i.sstatic.net/6qlEl.gif)
The Collision modifier on each of the objects tells Blender how the soft body simulation should interact with that surface - but it does not tell that surface how to interact with the soft body. This means when the cube collides with the soft body, the cube is not actually aware of the soft body but the soft body finds itself squashed against the approaching cube. This does provide a seemingly correct collision between the cube and the first sphere.
However, when the first sphere then moves across to the second sphere, from the first sphere's point of view it is colliding with a static surface - so it bounces off. From the point of view of the second sphere, however, it barely notices the presence of the first sphere (even though that first sphere also has collision enabled) since at any point in time, it is never any closer to the first sphere's surface than that surface came to it - and most likely bounced off that surface. So the second sphere does not react appropriately as it is effectively a completely separate simulation, seeing the first sphere as a non-moving surface that is close but never 'too close' to it. This results in the one-sided interaction where only the moving object seems to react properly.
The solution (providing you want the same soft body settings for all interactions) is to join (Shift+J) the two soft body objects together so that there is only a single soft body simulation in the scene. This means that the two soft bodies can interact and react with each other (since they are part of the same simulation) - instead of seeing each other as a stationary surface. This produces a much more realistic interaction :
![good collision](https://cdn.statically.io/img/i.sstatic.net/lLppb.gif)
Note that the above solution only works where it is acceptable for both bodies to have the same Soft Body settings - it is not possible to give each their own distinct soft body settings (for this we would either need to be able to properly link simulations (not possible with the Collision modifier at present) or we would need to be able to set different soft body properties for different parts of the mesh - perhaps by way of vertex weights).