I am looking for a clear and precise explanation of how an OFDMA modulator in downlink LTE operates. I have many books that explain it but each has its own way and do not answer my questions completely. If you believe this questions better fits in another forum please let me know (maybe some PHY layer forum).

My understanding is that an OFDMA modulator consists of the following steps:

1. a block of bits for each user are first coded using a error correction code.

2. the stream of bits for each user are then mapped to symbols for example QAM symbols.

3. There is Serial to Parallel converter, now the QAM symbols for each user are parallel.

4. Subcarrier mapping ? ( I don't understand this step)

5. The QAM symbols are input to the L IFFT (L being number of subcarriers)

According to LTE specifications, resources are allocated to users in units of resource blocks over a subframe (12 subcarriers over 14 OFDM symbols) i.e, 168 resource elements.

What does this mean, is there where step 4 comes into place? So is each user's QAM symbols being transmitted over 12 subcarriers and not over all available subcarriers? What happens in the next subframe? Then why do we perform L point IFFT? how does then one compute the rate for each user over a subframe or frame basis?

In LTE downlink, users are multiplexed in both time and frequency domain. The concept of ressource blocks (RB) describes a certain frequency band in a certain time slot. Your understanding of the steps in the transmitter are correct. Step 4 describes the procedure that assigns a certain frequency band $B_m$ to some user $m$. One OFDM symbol in LTE downlink carries the data of several users. Subcarrier mapping means that the data of user $m$ is allocated to certain subcarriers that represent the frequency band $B_m$ as shown in the following figure (where $M$ is the total number of frequency bands)
This technique corresponds to frequency multiplexing. Time multiplexing means that the the band $B_m$ is reserved for user $m$ only for a certain time duration, i.e. for a certain number of consecutive OFDM symbols (you mention 14 in your question, I haven't checked it). In the next subframe this band might be allocated to a different user.
The bit rate of user $m$ can be calculated as follows. Let $N$ be the number of subcarriers per user, $b$ the number of bits per subcarrier and $T$ the OFDM symbol time including the cyclic prefix. Then the bit rate $R_\mathrm{b}$ of user $m$ is $$R_\mathrm{b} = \frac{bN}{T}$$