Hi @sammaccoll,
Because you are dealing with longer character strings with errors, I would MOST recommend using a listvar, as each value within a listvar has a maximum character length of 255 characters. listprops are OK as long as you don't receive a set of values exceeding 100 characters. This is the most differing characteristic of listprops vs. listvars. In both cases you are limited to just 3 of each.
In the first two cases, you have the ability to use Classification Rules to align your errors with meaningful buckets (e.g., Error1= login issues, Error2=first or last name, Error3=email address, etc.).
You also have the option to send a delimited value into a single eVar; however, you will again be limited, but this time by a maximum of 255 characters for the entire string. Also, if you have a variable number of errors, it can become more challenging to appropriately apply Classification Rules.
All three of the recommendations provided by @amgup, @brian_johnson_, and @yuhuisg provide good solutions. I just wanted to make sure you had some of the additional info behind them as well. In fact, I just found an article that also provides some additional input for you to review:
https://terrynwinter.com/adobe-analytics-list-vars-and-evars-with-classification/
Best wishes!