First of all note that \BeforeBeginEnvironment and \AfterEndEnvironment does not patch the environment itself. It only adds material to hooks. etoolbox patches usage of these hooks to \begin and \end. That's the reason why resetting \itemize and \enditemize to their original definitions does not change anything.
But you may simply undefine the environment end hook of itemize:
\documentclass{article}
\usepackage{etoolbox}
\AfterEndEnvironment{itemize}{bleat bleat}
\begin{document}
\begin{itemize}
\item This is an item.
\end{itemize}
\csundef{@afterend@itemize@hook}% undefine the end hook of itemize
\begin{itemize}
\item This is another item.
\end{itemize}
\end{document}
\csundef is a etoolbox command and \@afterend@itemize@hook is the environment end hook of environment itemize. The environment begin hook would be \@beforebegin@itemize@hook.
Maybe a feature request for commands like \CleanBeforeBeginEnvironment or \CleanAfterBeginEnvironment could be suggested.
Alternative: If you only want to remove something but not everything, you may try this:
\documentclass{article}
\usepackage{etoolbox}
\newrobustcmd*{\RemoveFromAfterEndEnvironment}[2]{%
\expandafter\patchcmd\csname @afterend@#1@hook\endcsname{#2}{}%
}
\AfterEndEnvironment{itemize}{bleat bleat\par}{}{}
\AfterEndEnvironment{itemize}{don't remove this\par}{}{}
\begin{document}
\begin{itemize}
\item This is an item.
\end{itemize}
\RemoveFromAfterEndEnvironment{itemize}{bleat bleat\par}{}{}
\begin{itemize}
\item This is another item.
\end{itemize}
\end{document}
The third and fourth arguments of \RemoveFromAfterEndEnviroment are the same like third and fourth arguments of \patchcmd.