First, it is in the kernel, and would probably share a lot of code with the normal execve(). This would mean it would behave in exactly the same way except in the ways it would behave different on purpose, including any bugs, new features, and bug fixes.
Second, it would allow (as explained in more detail in the linked message) for the new syscall to take the place of execve(), without having to use ugly (and potentially brittle) LD_PRELOAD or ptrace tricks.
The second reason seems much more compelling than the first.