Wealthy companies are headed by capitalists who tend to exploit poorer people at the lower rungs of the social pyramid to advance their own means while the poor stagnate and do not get richer despite their efforts (see Karl Marx's conflict theory). As ugly as it sounds, forcing companies to engage in philanthropy might be a good way to attempt to bridge this gap and prevent it from widening further.
No, India should not force wealthy companies to engage in philanthropy because they are not charities. The companies that operate for profit still do a good job helping society, because they employ people, and because they produce products that people want to buy. Companies do not have an ethical obligation to give away their profits.
Once the government begins to force people into doing things they do not wish to do, it is hard for them to stop and draw the line at forcing anything. Companies should be given incentives to engage in philanthropy instead, such as tax breaks. Wealthy companies should want to help society instead of being forced to do so.