This is a common problem with gradients in Illustrator, there are two potential ways to solve it that I know of…
Instead of going from green to black, go from green to green plus black. How you do this depends on how you have set up your colours. For example if your green colour was 60 cyan, 80 yellow (in CMYK) then your ‘black’ would be 60c, 80y, 100k. If using spot colours, you would need to add a second fill via the appearance panel.
You can split the object with the effect into two copies of the object, both the same shape and same position. The bottom one would be the flat green colour, the top one would have the gradient from black to white and would then be set to overprint or multiply.
Both give the same result, but I would advise using option one if you can get your head around the method as it’s a bit tidier.
Source : Link , Question Author : Kimberly , Answer Author : Westside