Why does gravitational force act between two different bodies? Why there is a gravitational force?
Answering this question is less than straightforward because the real answer is that physicists have no answer for what gravity actually is. We can describe what we observe are the effects of gravity, like falling meteors and planetary orbits, but physics has struggled to answer the question of why gravity is different from the other three fundamental forces. For example, why gravity appears unipolar or why it is so much weaker than the electric and nuclear forces.
Modern string theory offers some answers to the above questions, postulating that gravity is a force that spreads itself between 11 dimentions, and thus we only experience a part of it. Other theories to explain gravity also exist. The most widespread understanding of gravity currently is based in Einstein's general theory of relativity. Basically, this theory treats empty space as a flat continuum. When you push a ball along a flat surface, it simply moves straight forward forever, conserving momentum forever (ideally, without friction or other forces). But say that this "flat" surface is actually a perfectly smooth sphere the size of earth. As far as the ball knows, it is moving straight. But in reality it is following a curved path on the larger sphere.
Similarly, Einstein's generaly theory of relativity considers gravity to be an observed force that is the result of objects moving in space along what they think are straight paths. However, because mass bends space, in reality the objects are moving along a curved, not flat, space-time. While Einstein's theory works well for large objects, it is widely recognised that the theory breaks down at the quantum level, and is therefore likely deficient in some fundamental regard.