"A data file is a computer file which stores data for use by a computer application or system."
"A flat file is a computer file that can only be read or written sequentially. It consists of one or more records. Each record contains one or more field instances. Each field instance can contain a data value, or be omitted."
So a "flat file" is a type of "data file." The term "data file" does not pose any type of restriction; it can be in any format, and read with any application. It's just a generic term related to files that contain supporting information for programs rather than actual code to be interpreted or executed.
A "flat file" is a specific type of data storage that consists of records and fields, like a SQL table. They have the restriction of only being read from and written to sequentially, rather than randomly.