Pictures of your grasshopper/ the grasshopper file itself would make this easier to diagnose/explain.
But I’ll give it a shot either way. I assume you want the voronoi centers to move over the morphed surface. To do this you need to use UV coordinates. Look at “Surface closest point” and “evaluate surface” for getting and setting points based on UV coordinates.
Take the points after attraction (from the flat surface) and use “Surface Closest Point” component to get their UV position relative to the surface. Then use the “evaluate surface” component with the morphed surface and UV values from the previous step. This should give you the attracted points on the morphed surface. Now you will probably have to generate the voronoi cells in 3D on the morphed surface, and then cut the cells from the 3D shape. Bonus, you can place points near the morphed surface, get their UV (closest point) and use that on your flat surface (eval surface) as an attractor center.
I hope this helps. If you want a more detailed explanation add some images or the file so we can see your current approach. There are always multiple ways of getting similar results.