Information regarding the variables, types and interfaces to procedures is in the .MOD file generated when the source code of the module is compiled. This information is not present in the DLL, and most compilers do not try to read the contents of a DLL. A DLL contains executable code and sections for storing variables -- information that is used at run time.
As examples, look at the MKL or IMSL libraries. In order to be able to use routines in their libraries using F90+ interfaces, you need the MOD files in addtion to the LIB files. Without having the MOD files, you are restricted to calling routines that have a F77 (i.e., implicit) interface.
Similarly, C programmers need the header files for various libraries in addition to the libraries.