Why do we take null closure two times while converting from Epsilon-NFA to NFA?
You might need to do some $\varepsilon$-transitions before reading the first character of the input, and after reading the last character. It's probably easier to just consider them before and after every character, so every character is treated the same way, than to make a special case of the first or last character.