The fields returned are empty because the AM Expr1s returned do not have a corresponding PM Expr1. They are returned by the LEFT JOIN.
(Note. The rest of the AM Expr1s in the table all have a corresponding PM Expr1 in the PM table and their AM and PM quantities have remained the same, so these records are not returned. If you change the PEQTC of one of these Expr1s in one of the tables, that Expr1 will be returned. So your query works so long as none of the PM PEQTC is 0.)
However, if you want to show also the PM Expr1s that do not have a corresponding AM Expr1, you can use a Union Query to combine the LEFT JOIN with a RIGHT JOIN.
qryUnionLeftRightJoins:-
SELECT [POAMMOD.PEQTC]/[POPMMOD.PEQTC] AS Expr2, [POAMMOD].[PEPN], [POAMMOD].[PENO], [POAMMOD].[PEQTC] AS [Old qty], [POPMMOD].[PEQTC] AS [New qty], [POAMMOD].[PEVEND], [POAMMOD].[Expr1], [POPMMOD].[Expr1]
FROM POAMMOD LEFT JOIN POPMMOD ON [POAMMOD].[Expr1]=[POPMMOD].[Expr1]
WHERE ((([POAMMOD.PEQTC]/[POPMMOD.PEQTC])<>1 Or ([POAMMOD.PEQTC]/[POPMMOD.PEQTC]) Is Null))
UNION
SELECT [POAMMOD.PEQTC]/[POPMMOD.PEQTC] AS Expr2, [POAMMOD].[PEPN], [POAMMOD].[PENO], [POAMMOD].[PEQTC] AS [Old qty], [POPMMOD].[PEQTC] AS [New qty], [POAMMOD].[PEVEND], [POAMMOD].[Expr1], [POPMMOD].[Expr1]
FROM POAMMOD right JOIN POPMMOD ON [POAMMOD].[Expr1]=[POPMMOD].[Expr1]
WHERE ((([POAMMOD.PEQTC]/[POPMMOD.PEQTC])<>1 Or ([POAMMOD.PEQTC]/[POPMMOD.PEQTC]) Is Null));
As a Union Query cannot be converted into a Make-Table Query, you will need a Make-Table query to create the table:-
SELECT * INTO [Changed PO]
FROM qryUnionLeftRightJoins;