Your code wants the list array of FaultModule instances to be named modules.
Your JSON names this variable FaultModules.
The names do not match, so data from the JSON field FaultModules is not put into the C# field modules.
Ensure your variable names are consistent to get the data passed through correctly.