In WAL file, if we don't keep the actual data with Insert/Update commands, how will we get the data in a new fresh DB by applying the WAL file?
If some data is updated in diskblock in memory and wal file also update but then crash happen how WAL we replay the query to restore ?
You cannot recover the database data from WAL into a new, fresh database. This is precisely because, as you describe, WAL does not store SQL statements, but physical modifications to data files.
You can use WAL to recover only in combination with a base backup, which is a copy of the physical database files. If you don't have a base backup, there is no need to archive WAL segments, except perhaps for a standby server to catch up from.