How are forward and aft CG limits calculated?
You have done half of the way. Since you have computed the CG variations in all loading scenario, you know approximate limits. This limits are the ideal limit from loading and unloading point-of-view. But in real application, the design of the aircraft does not allow such broad limits. 

There are many factors that limits the aircraft aft CG movement:


MLG load: The loads on MLG increases as the aircraft weight is increased or the CG is moved aft. Since in most of cases, the MLG's are designed for touch down loads at maximum landing weight, which is lower that the maximum ramp/take-off weight, the static loads at maximum ramp weight may exceed the dynamics load at touch down. So, a limitation may be imposed on aft CG location regarding this issue.
Take-off Tip-Up: At the take-off conditions, the engines are producing their maximum thrust. If the engines are located below the CG, which is the case for under-wing mounted engines, this thrust produces pitch-up moment. This pitch-up moment reduces the load on the NLG. From the other hand, as the aircraft weight decreases combined with aft cg movements, the load on the NLG will be further decreased. At light enough NLG loads, steering effectiveness is reduced, and eventually, the NLG load can become negative causing the airplane to tip up. So an aft CG limits may be imposed to maintain enough loads on the NLG.
Static Stability: Too far aft CG may cause neutral or negative stability, so a margin (normally 10% of MAC) should be provided between the CG and the aerodynamic center. 
Go-Around: At go-around condition, the engines are producing the maximum thrust, and a huge pitch-up moment. Elevator deflection are required to counter this moment with pitch down moment. This moment is proportional to amount of upward acting load on the tail a the arm of this acting load. The distance between the tail and the CG is the arm. As the cg moves aft, if the tail reaches its maximum lift the aircraft can not maintain its path. So a limit may be imposed to prevent pitch-up at go-around.


By combining the above limits, and other limits that may arise from that specific configuration, an aft CG limit can be estimated.