Whether you write good code or not is a subjective statement. It's important to know that functional code does not always make good code.
That said, data structures are important because they are like the behind-the-scenes workers that you, as the programmer, are directing. It's true that you can call methods on a structure without really understanding what it's doing and you can utilize a structure without really getting how the data is stored, but knowing these details will better prepare you to understand when it is appropriate to use one structure over another.
Knowing, for example, that you can traverse in both directions through a doubly-linked list and only forwards through a singly linked list can help you determine which structure is important when storing data. You can make an even more education decision by knowing that a singly linked list can potentially have lower overhead in terms of memory consumption (since it doesn't contain pointers to previous elements) so, if you only need to iterate forward through a list, you can save some memory by using an appropriate structure.
These are just small examples and, ultimately, if you're feel you're doing well in your career without intimate knowledge of data structures then maybe you don't need to learn more. Understanding what's going on under the hood, though, can really help turn functional code into good code.