TLS Key Block calculation - What is a PRF?
Yes, you're misinterpreting the PRF.

It's not just a hash function (and when you hit the end of the function, start back at the beginning).

Instead, it is a function that generates a rather long (actually, infinite) output; we use the first $N$ bits of that output to populate the various key values.

See section 5 of RFC5246; we have:


  TLS's PRF is created by applying P_hash to the secret as:

 PRF(secret, label, seed) = P_&lt;hash&gt;(secret, label + seed)



where


P_hash(secret, seed) = HMAC_hash(secret, A(1) + seed) +
                        HMAC_hash(secret, A(2) + seed) +
                        HMAC_hash(secret, A(3) + seed) + ...



and A() is defined as:


 A(0) = seed
 A(i) = HMAC_hash(secret, A(i-1))



As you can see, until you hit a loop within the internal A function (which is quite unlikely to happen for a while), the PRF output will not repeat itself.

And, to answer your question "does both sides compute the same value", the answer is "this process creates a long output, but deterministically; both sides do generate the same PRF output"