VTK-m correctly handles have find_package called multiple times.
When you called find_package multiple times with VTK-m components such as CUDA would continuously append to variables, causing a variable to have the same parameter listed multiple times. Secondly since the VTKmConfig would clear the FOUND flags, each call would cause VTK-m to search for sections all over again.
The primary issue that caused this correction was passing the same compile flags multiple times to nvcc which causes compile errors.