It looks like this issue is caused by a quirk in the standard way Windows 10 picks an icon for a tile. I found the following explanation by "Leo Vr" on the Chrome Help Forum:
The big Google-"icon" on the start-menu and the fact that for
Google-apps all "icons" are the same are not caused by a fault, but
are "according to spec". With the Windows 10 Threshold 2 update,
Microsoft added the possibility to customize the tiles in the start
menu a bit. Google uses this feature, which makes some of us unhappy.
This customizing is done by adding a file "VisualElementsManifest.xml"
to the directory in which the executable resides. In our case it is
the file "chome.VisualElementsManifest.xml".
When you add a program to the start menu, the following happens:
- a shortcut for the program is made in the directory "....\AppData\Roaming\Microsoft\Windows\Start Menu\Programs".
- a tile is made, based on this shortcut AND the before mentioned file "VisualElementsManifest.xml". This causes all shortcuts for the
program "chrome.exe" to have the same big "icon".
What can we do about this?
- in case the file"VisualElementsManifest.xml" is missing, the icon of the shortcut is used for the tile. In our case that is exactly what we
want.
- if we remove (or rename) the file "VisualElementsManifest.xml" at first nothing happens.
- the tile is refreshed however if the shortcut is changed. (It is sufficient if the "lastwritetime" of the shortcut changes).
- so I changed the lastwritetime using "powershell" (present in Windows 10 by default)
- the command for this is: (ls "C:\Users\leo\AppData\Roaming\Microsoft\Windows\Start
Menu\Programs\Chrome-apps\Google Maps.lnk").lastwritetime = get-date
- of course the name of the shortcut needs to be changed to the one specific for your case.
This way I got the Google-apps icons to look the way I wanted. I hope
it works for you as well.

"tfenster" in the same thread also provides this handy PowerShell script (which I had to modify slightly to get working) for updating all shortcuts in the Chrome Apps folder:
foreach ($file in (ls "~\AppData\Roaming\Microsoft\Windows\Start Menu\Programs\Chrome Apps")) {
$file.LastWriteTime = get-date
}