OK, I had a look at your code - your input data that you feed to the model is very borked. Your labels instead of being {0,1} are row ids converted to float. Always dump at least the first row/batch of your inputs to see that what you feed is what you expect it to be. In your case, for labels in the first batch you get something like:
x = next(iter(train_iter))
x.label

tensor([.169, .254, .512, ...

definitely not 2 categories.
The 2 main errors are that you (1) save the row IDs in the csv files and TabularDataset.splits gives labels the row ids (2) you don’t convert FAKE/REAL strings to {0,1}.
So before you do X_train.to_csv(..., you need to:
news['label'] = news['label'].astype('category').cat.codes

and also you need to drop the row IDs, so the correct code is:
X_train.to_csv("./real-and-fake-news-dataset/train.csv", index=False)
X_test.to_csv("./real-and-fake-news-dataset/test.csv", index=False)
X_valid.to_csv("./real-and-fake-news-dataset/valid.csv", index=False)

and later the fields need to be corrected too (label moved to the end):
fields = [('title', text_field), ('text', text_field), ('titletext', text_field), ('label', label_field),]

alternatively you could keep the row ids and then adjust your train loop to ignore the first field.

I don’t think fix_length=MAX_SEQ_LEN does what you think it does - I think the description of that field is confusing and misleading - as it’s related to padding and not truncating - you get millions of warnings during TabularDataset.splits call.
Token indices sequence length is longer than the specified maximum sequence length for this model (1129 > 512). Running this sequence through the model will result in indexing errors

So I added:
news['titletext'] = news['titletext'].str.slice(0,128)
news['title'] = news['title'].str.slice(0,128)
news['text'] = news['text'].str.slice(0,128)

you have other bugs in your code, but you will sort those out.
I uploaded the partially corrected nb here 13.
You can see the debug prints I added in the code.
Your csv files were also saved in the wrong dir (not the one it was read from). So I adjusted the dirs too.
You will need to remove the initial dataset truncation I added to make the dev cycle fast (and note that trick for your own future development process).