AES-CTR mode can be used to generate stream of random numbers.
For generating random numbers, the plaintext is indeed irrelevant. It can be even full of zero (the NIST recommended way to generate random numbers uses such plaintext.)
NIST has recommendation on how to generate DRBG (deterministic random bit generator) based on CTR mode.
NIST has defined how to construct random bit generator from CTR mode in NIST SP 800-90A, section 10.2.1.
This NIST SP 800-90A document is concerned with various high level functions which are used in random bit generation:
- Generating Random Bits
- How many blocks are to be generated with a single key (with AES-CTR: up-to $2^{48}$ requests; up-to $2^{13}$ bits per request)
- Health checking (check RNG is operational)
- Reseeding (without loosing any previously obtained entropy)
- Backtracking resistance (when random bits are generated, also new internal state is generated)
- Operating when entropy input does not provide ideal random bits. (a derivation function Block_Cipher_df() defined for this purpose.)
From perspective of generating stream of random numbers, the generate function is the most essential. For NIST SP 800-90A, the random bit generation function is little more than AES-CTR with XOR step skipped. I.e. it is equivalent to AES-CTR where plaintext is full of zero bits.
In your post you say that you have followed NIST vectors in implementing AES-CTR. If you want to make random number generator "the NIST way", then you shall use the NIST SP 800-90A to implement the RNG.
The most significant advantage of documents of NIST SP 800-90 series is that they discuss a lot on how to obtain entropy (i.e. secure key/seed material) for the RNG. This is a filed, where prior art has often gone wrong (such as accepted insufficient entropy).