CSV reader objects are stateful. The first time, you call next() to get the header row, then you call list() which consumes the rest of the CSV document.
Then you try to do it a second time, but the reader has already given you all it can - that's why you're getting a StopIteration error.