IP addresses are used on layer 3 to identify machines throughout different networks
This is a correct statement.
is this technically incorrect since you would also need a MAC address to identify the machines within the network?
No, MAC addresses do not exist at layer 3, therefore they cannot carry any consideration at layer 3. If you were discussing networking in general or were including layer 2, then you might have some basis behind your statement. But the original statement specifically identifies this as layer 3.
Further, MAC addresses are not required at all if the layer 2 protocol doesn't need them. So while layer 2 MAC addresses exist in the vast majority of cases, you could have an IP address without a MAC address.
The use of technologies like NAT can muddy the issue a bit, but the general principle still holds true.
IP addresses are used on layer 3 to identify networks and MAC addresses are use to identify machines in that network. Is this correct?
No. IP addresses are used to identify devices or hosts, not networks. Therefore they do not identify networks. However, IP address ranges can be used to identify networks.