[SYCL] Kernel object and lambda must have the same name (#20041)
Today, the API that accepts both a kernel object and a corresponding
lambda (non-standard and planned for removal in the next major release)
ignores the case when the name stored in the kernel object differs from
the lambda name. This PR modifies this behavior and throws an exception
if names do not match.