As others have told you the iterator has reached the end and will not reset thus you could make a copy of it beforehand like this:
loansTFR = pd.read_csv('loans_2007.csv', chunksize=3000)
chunks1 = loansTFR.get_chunks()
chunks2 = loansTFR.get_chunks()
for chunk in chunks1 :
#run code
for chunk in chunks2 :
#run code
or rerun the reading file
loansTFR = pd.read_csv('loans_2007.csv', chunksize=3000)
for chunk in loansTFR :
#run code
loansTFR = pd.read_csv('loans_2007.csv', chunksize=3000)
for chunk in loansTFR :
#run code
Both will create a copy of it in memory so you should not worry about it being more or less resources extensive (in broad terms), but a good practice would be to read the data in the original loop and make objects out of all the data (from a class of your own creation) and insert them into an array which then you can iterate as much as you need.
As well maybe you could combine the logic of both of your loops, the data will be the same in either run.