"A writer needs to know a lot."
Translation:Писателю нужно много знать.
NO, It's not the same. "To have" and "to have to" are different. Only the latter would be suitable here.
"To have" means to possess, own, hold, etc. But "To have to" means that something is needed, required, desired, necessary, etc.
For example: I HAVE a passport and I HAVE TO show it every time I travel abroad.
"To have to" would be OK for нужно. And as "to have to do something" usually takes a verb, it could also be надо.
A word "до́лжен" comes from a noun "долг" = "debt" or "duty"
A word "ну́жно" comes from a noun "нужда́" = "need" or "necessity"
So, the meaning of your choice woud be a little bit another, but, however, in this case they can be interchangeable, I think. Press report next time.