Since the setup above is based on UV-textures which are projected from the 2-dimensional UV-texture space onto surfaces it's logic that the emission source has to be a face.
For the 3-dimensional procedural textures using UV-coordinates like the "Noise" texture in our example here, only the color values at W = 0 are taken into account (Note: "W" is the third dimension in a UVW-texture space but Blender's UV-editor only uses the UV-plane at W=0) .
The only colors associated directly with vertices are vertex colors which you can access by an "Attribute" node in your "Shader Node Editor". Use the name of your vertex color map in order to specify that attribute. By this you can use vertex colors for shading objects in your rendering but only on the object that has these vertex colors. You can't access vertex colors from another object so that your instanced object can't copy the vertex colors of your instancing particle emitter object.
Grids are totally separated from the mesh itself so that they can't have any connections to UV coordinates onto which the mesh vertices are mapped in the process of UV-unwrapping.
If your object instances don't need one color per instance at maximum but can copy the emitter object's surface color rather like a chameleon then try it with object coordinates and choose the particle emitter as the source for theses coordinates. Furthermore set the noise textures on the instancer as well as on the instanced object to "2D" (a 2-dimensional noise texture beeing stretched along local Z):
This works as long as the object instances don't move away from the particle emitter or - if they move - only along the emitter plane's local Z-axis:
This is my node setup: