Seeded LecunNormal initializer produces the same random values across multiple calls
@ItayXD,
I tried to execute the mentioned code with the alternative numbers on tensorflow v2.15 and the LecunNormal api providing the results as mentioned in the document. Kindly find the gist of it [here](https://colab.research.google.com/gist/tilakrayal/507b3e3e4a3f97bfcdb983315bf7d68a/untitled1581.ipynb). Thank you! Hi @tilakrayal,
Thanks for getting back to me!
It is my understanding that in the first case
```
init0 = keras.initializers.LecunNormal(seed=0)
w0 = init0((2, 2))
w1 = init0((2, 2))
w2 = init0((2, 2))
print(w0)
print(w1)
print(w2)
```
it should hold that `w0 != w1`, were in you example `w0 == w1`.

Note that the described behavior for `VarianceScaling` for example is different: "Note that a seeded initializer will produce the same random values across multiple calls." yet they give similar results, see here:
https://colab.research.google.com/drive/1iyLVXC-auC3d-DceADzf-DCxS6W68Pee?usp=sharing
### Issue type

Bug

### Have you reproduced the bug with TensorFlow Nightly?

Yes

### Source

source

### TensorFlow version

2.14

### Custom code

No

### OS platform and distribution

Ubuntu 22.04

### Mobile device

_No response_

### Python version

3.10

### Bazel version

_No response_

### GCC/compiler version

_No response_

### CUDA/cuDNN version

_No response_

### GPU model and memory

_No response_

### Current behavior?

Contrary to the description in the documentation of LecunNormal, seeded initializers produces the same random values across multiple calls.
Quoting from the documentation "Note that a seeded initializer will not produce the same random values across multiple calls".

EDIT:
After further investigation it seems that the standard across initializers is to produce the that values across multiple calls, some of them mention it correctly in the documentation but some say it will give different values.
Note that one would also receive warnings suggesting to add a seed for multiple uses (i.e. to get different values across multiple calls).
I see the standard now is stateless random generators. How can one get different values across multiple calls? 

### Standalone code to reproduce the issue

```shell
init0 = tf.keras.initializers.LecunNormal(seed=0)
w0 = init0((2, 2))
w1 = init0((2, 2))
w2 = init0((2, 2))
print(w0)
print(w1)
print(w2)
```


### Relevant log output

```shell
tf.Tensor(
[[0.43390435 0.8674912 ]
 [0.4000091  1.1794121 ]], shape=(2, 2), dtype=float32)
tf.Tensor(
[[0.43390435 0.8674912 ]
 [0.4000091  1.1794121 ]], shape=(2, 2), dtype=float32)
tf.Tensor(
[[0.43390435 0.8674912 ]
 [0.4000091  1.1794121 ]], shape=(2, 2), dtype=float32)
```
