Do you have a grasp of how noise is used in procedural generation at all?
redblobgames.com/articles/noise/introduction.html
In the procedural generation example, for a 2d side view game, events 41-44 are used to determine the elevation map (floor/air). You can see how the surface is determined in events 42 and 43, to place grass if the tile above is air. Placing trees and monsters on the surface will be a similar idea as well.
You can use a simple random expression to determine which x coordinates a monster or tree will spawn at, rather than every tile like grass. This can go anywhere as a sub event under event 33, which loops through every x coordinate to generate the map.