Honestly I think you wont be able to do it with zip because you are searching for another behaviour. To use syntactic sugar and make it work with zip will just void your debugging experience.
But if you would drag me by the knee:
zip([val for val in l1 for _ in range(len(l2))], [val for _ in l1 for val in l2])