What you can do is to enclose the \BODY with the necessary spacing. Here is a MWE.

\documentclass{article}
\usepackage{environ}
\usepackage{tikz}
\usepackage{lipsum}
\begin{document}
\NewEnviron{Notes}{
\par
\begin{tikzpicture}
\node[rectangle,minimum width=0.95\textwidth] (m) {
\begin{minipage} {0.75\textwidth}
\vspace*{0.1\textwidth}
\color{red}\BODY
\vspace{0.1\textwidth}
\end{minipage}
};
\draw[dashed] (m.south west) rectangle (m.north east);
\end{tikzpicture}\\
}
\begin{Notes}
\lipsum[1]
\end{Notes}
\end{document}
A better approach is to rather use a fixed amount of padding:
\documentclass{article}
\usepackage{environ}
\usepackage{tikz}
\usepackage{lipsum}
\begin{document}
\NewEnviron{Notes}{
\par
\begin{tikzpicture}
\node[rectangle,minimum width=0.5\textwidth] (m) {
\fbox{\begin{minipage} {0.5\textwidth}
\color{red}\BODY
\end{minipage}}
};
\draw[dashed] (m.south west) rectangle (m.north east);
\end{tikzpicture}\\
}
\begin{Notes}
\lipsum[1]
\end{Notes}
\end{document}
if you add \fboxsep0pt, the inner rule will not be shown. Padding can be increased using a suitable value of \fboxsep. I think this is a much better solution in terms of typography and scales well. Non-linear scaling of the vertical spacing is also possible and one could employ a technique I first encountered in amsgen, latex amsgen.dtx and look up the definition of \compute@ex@. The difficulty is to find an acceptable formula to describe the aesthetics of such spacing. The formula should include for such variables as textwidth, height, font-size and the relationships to the rest of the text.
