I wanted to model a real life problem using the Navier-Stokes equations and was wondering what the assumptions made by the same are so that I could better relate my entities with a 'fluid' and make or set assumptions on them likewise. For example one of the assumptions of a Newtonian fluid is that the viscosity does not depend on the shear rate. Similarly what are the assumptions that are made on a fluid or how does the Navier-Stokes equations define a fluid for which the equation is applicable?
Most importantly, the Navier-Stokes equations are based on a continuum assumption. This means that you should be able to view the fluid as having properties like density and velocity at infinitely small points. If you look at e.g. liquid flows in nanochannels or gas flows in microchannels you could be in a regime where this assumption breaks down. As far as I know there is no hard limit for the continuum assumption, but the Knudsen number is a useful indicator.
Additionally there is, as @ShuchangZhang mentioned, an assumption on the nature of the stress in the fluid. Although I am not sure whether you could really call this an assumption or whether it should be considered a theory (like the NS equations itself).
The strongest assumptions are typically not in the Navier-Stokes equations themselves, but rather in the boundary conditions that should be applied in order to solve them. To give an example, whether the no-slip boundary condition (fluid velocity at the wall equals wall velocity) or the navier slip boundary condition (fluid velocity equals a scaled velocity gradient at the wall) has been a much debated subject, in particular for hydrophobic surfaces (see e.g. Phys. Rev. Lett. 94, 056102 (2005) and references therein and thereto)