Are you using a Linaro release?
WiFi has normally a fixed MAC address, but it is possible that scanning use MAC randomization, for privacy reasons. If you connect to an AP, the regular MAC address should be used.
Regarding ethernet, Since there is no address provisioned, the current Ethernet driver (Atheros atl11c) sets a random address at each boot. systemd is supposed to detect that address is random because the net interface is flagged with NET_ADDR_RANDOM. In order to emulate a persistent MAC address, systemd overrides the random address with one generated from /etc/machine-id. This machine ID is usually generated from a random source during the first boot and is never changed, So you should get a constant MAC address for all subsequent boots… except if Network manager is configured to randomize ethernet addres as well, but it should be fixed by the trick @anon91830841 pointed.