The simple answer is that the flood statutes and rules require it.
Why did Congress do it?
1) to attempt some behavior modification perhaps. If people bear an additional expense when their property is located in a flood hazard zone, maybe they'll think twice about building there;
2) to protect the safety and soundness of financial institutions. When a flood wipes out the lender's collateral and the loss is uninsured, the lender may suffer a loss. When it's lots of property and lots of losses, the very solvency of the institution can be threatened.
3) to protect the government and the taxpayers. In some respects, uninsured flood losses affect all our pocketbooks.
The loan officer's question may spark an interesting philosophical discussion about the merits of such governmental dictates, but the bottom line is like Nike says -- "Just do it!"