duplicated movieclips are duplicated within the same movieclip which the original exists. If THAT movieclip is masked (the movieclip holding the movieclip and its duplicates, then everyone of those duplicates, because withIN that movieclip will be masked as long as that holding movieclip is. If it were only the movieclip you were duplicating that was masked, then none of the duplicates would be masked upon duplication. To get around this you can use attachMovie instead of duplicateMovieClip and attach an instance of that movieclip from the library into a new scope, like in your case, I would assume _root.
your removeMovieClip isnt working becuse there is no icon1