My book says: "The point of application of the buoyancy force is the geometric center(centroid) of the submerged part of the body, whereas the specific gravity of the fluid is constant." But why buoyancy is applied on centroid?
The statement in that book is not fully correct. It's only correct if the composition of the fluid surrounding the body is of the same material, thus having the same density at every point around the body. In this specific case only does the center of buoyancy coincide with the geometric centroid of the body. A more correct statement for the book would have been "The point of application of the buoyancy force is the center of gravity of the submerged part of the body...."
And to further answer your question,there are situations in mechanics, dynamic analysis where one can combine (sum) all the vector forces on a body and effectively replace those vectors with a single vector that acts through one point in the body. And in such a case the actions on the body can be treated as if the body were a point in space with all the mass of the body concentrated at that point. But as Fabrice pointed out in his answer, such treatment falls apart if not all the forces effectively act through a single point but rather two points separated by a distance within the body. And in this case you have a vector couple - which leads to torque and rotational motion. - and a single point representation of a more massive body) cannot be used to analyze rotational motions.
Because otherwise it would induce a torque, i.e., a rotation. When a (pseudo)force applies to a whole body considered as solid, you can consider it as ponctual at settled at its centroid (exactly as for gravity force).